コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }