/// <summary> /// Creates HttpClient method object based on the specified request and /// populates any parameters, headers, etc. from the internal request. /// </summary> /// <param name="request"> The request to convert to an HttpClient method object. </param> /// <returns> The converted HttpClient method object with any parameters, headers, etc. from the original request set. </returns> private static HttpWebRequest CreateHttpWebRequest(InternalRequest request) { BceClientConfiguration config = request.Config; IBceCredentials credentials = config.Credentials; string uri = request.Uri.AbsoluteUri; string encodedParams = HttpUtils.GetCanonicalQueryString(request.Parameters, false); if (encodedParams.Length > 0) { uri += "?" + encodedParams; } var httpWebRequest = WebRequest.Create(uri) as HttpWebRequest; httpWebRequest.Timeout = config.TimeoutInMillis ?? BceClientConfiguration.DefaultTimeoutInMillis; httpWebRequest.ReadWriteTimeout = config.ReadWriteTimeoutInMillis ?? BceClientConfiguration.DefaultReadWriteTimeoutInMillis; if (request.Range != null && request.Range.Length == 2) { AddRange(httpWebRequest, request.Range); } if (!string.IsNullOrEmpty(config.ProxyHost) && config.ProxyPort.GetValueOrDefault() > 0) { WebProxy proxy = new WebProxy(config.ProxyHost, config.ProxyPort.GetValueOrDefault()); if (config.ProxyCredentials != null) { proxy.Credentials = config.ProxyCredentials; } httpWebRequest.Proxy = proxy; } if (config.UseNagleAlgorithm != null) { httpWebRequest.ServicePoint.UseNagleAlgorithm = (bool)config.UseNagleAlgorithm; } httpWebRequest.ServicePoint.MaxIdleTime = config.MaxIdleTimeInMillis ?? BceClientConfiguration.DefaultMaxIdleTimeInMillis; httpWebRequest.ServicePoint.ConnectionLimit = config.ConnectionLimit ?? BceClientConfiguration.DefaultConnectionLimit; httpWebRequest.ServicePoint.Expect100Continue = request.Expect100Continue; httpWebRequest.Method = request.HttpMethod; return(httpWebRequest); }
public override AbstractBceRequest WithRequestCredentials(IBceCredentials p0) { return(RawWithRequestCredentials(p0)); }