private WebRequest Compose(string uri, RequestSettings settings, IDictionary <HttpRequestHeader, string> headers, string postData) { var request = Compose(uri, settings, headers, null, postData); HttpWebRequestHelper.WriteStringToRequestStream(request, postData); return(request); }
private WebRequest Compose(string uri, RequestSettings settings, IDictionary <HttpRequestHeader, string> headers, IDictionary <string, string> customHeaders, string postData) { //var url = new Uri (uri); var request = (HttpWebRequest)WebRequest.Create(uri); if (settings != null) { request.Method = settings.Method.ToString().ToUpper(); } if (headers != null) { foreach (var header in headers) { switch (header.Key) { case HttpRequestHeader.UserAgent: request.UserAgent = headers[HttpRequestHeader.UserAgent]; break; case HttpRequestHeader.ContentType: request.ContentType = headers[HttpRequestHeader.ContentType]; break; case HttpRequestHeader.Authorization: request.Headers.Add(HttpRequestHeader.Authorization, headers[HttpRequestHeader.Authorization]); break; case HttpRequestHeader.Accept: request.Accept = headers[HttpRequestHeader.Accept]; break; } } } if (customHeaders != null) { foreach (var header in customHeaders) { request.Headers.Add(header.Key, header.Value); } } if (!string.IsNullOrEmpty(postData)) { HttpWebRequestHelper.WriteStringToRequestStream(request, postData); } return(request); }