in aliyun-net-sdk-dybaseapi/Dybaseapi/MNS/Runtime/Pipeline/HttpHandler/HttpHandler.cs [225:261]
protected virtual IHttpRequest<TRequestContent> CreateWebRequest(IRequestContext requestContext)
{
IRequest request = requestContext.Request;
Uri url = AliyunServiceClient.ComposeUrl(request);
var httpRequest = _requestFactory.CreateHttpRequest(url);
httpRequest.ConfigureRequest(requestContext);
httpRequest.Method = request.HttpMethod;
if (request.MayContainRequestBody())
{
if (request.Content == null && (request.ContentStream == null))
{
string queryString = AliyunSDKUtils.GetParametersAsString(request.Parameters);
request.Content = Encoding.UTF8.GetBytes(queryString);
}
if (request.Content!=null)
{
request.Headers[HttpHeader.ContentLengthHeader] =
request.Content.Length.ToString(CultureInfo.InvariantCulture);
}
else if (request.ContentStream != null && !request.Headers.ContainsKey(HttpHeader.ContentLengthHeader))
{
request.Headers[HttpHeader.ContentLengthHeader] =
request.ContentStream.Length.ToString(CultureInfo.InvariantCulture);
}
}
else if (request.UseQueryString &&
(request.HttpMethod == "POST" ||
request.HttpMethod == "PUT" ||
request.HttpMethod == "DELETE"))
{
request.Content = new Byte[0];
}
return httpRequest;
}