コード例 #1
0
ファイル: Http.cs プロジェクト: webfort/RestSharp
        private static void ExtractResponseData(HttpResponse response, HttpWebResponse webResponse)
        {
            using (webResponse)
            {
#if FRAMEWORK
                response.ContentEncoding = webResponse.ContentEncoding;
                response.Server          = webResponse.Server;
#endif
                response.ContentType   = webResponse.ContentType;
                response.ContentLength = webResponse.ContentLength;

#if WINDOWS_PHONE71
                if (webResponse.Headers[HttpRequestHeader.ContentEncoding] == "gzip")
                {
                    var uncompressedResponse = new SharpGIS.GZipWebClient.GZipWebResponse(webResponse);
                    response.RawBytes = uncompressedResponse.GetResponseStream().ReadAsBytes();
                }
                else
                {
                    response.RawBytes = webResponse.GetResponseStream().ReadAsBytes();
                }
#else
                response.RawBytes = webResponse.GetResponseStream().ReadAsBytes();
#endif

                //response.Content = GetString(response.RawBytes);
                response.StatusCode        = webResponse.StatusCode;
                response.StatusDescription = webResponse.StatusDescription;
                response.ResponseUri       = webResponse.ResponseUri;
                response.ResponseStatus    = ResponseStatus.Completed;

                if (webResponse.Cookies != null)
                {
                    foreach (Cookie cookie in webResponse.Cookies)
                    {
                        response.Cookies.Add(new HttpCookie {
                            Comment    = cookie.Comment,
                            CommentUri = cookie.CommentUri,
                            Discard    = cookie.Discard,
                            Domain     = cookie.Domain,
                            Expired    = cookie.Expired,
                            Expires    = cookie.Expires,
                            HttpOnly   = cookie.HttpOnly,
                            Name       = cookie.Name,
                            Path       = cookie.Path,
                            Port       = cookie.Port,
                            Secure     = cookie.Secure,
                            TimeStamp  = cookie.TimeStamp,
                            Value      = cookie.Value,
                            Version    = cookie.Version
                        });
                    }
                }

                foreach (var headerName in webResponse.Headers.AllKeys)
                {
                    var headerValue = webResponse.Headers[headerName];
                    response.Headers.Add(new HttpHeader {
                        Name = headerName, Value = headerValue
                    });
                }
#if !NETFX_CORE
                webResponse.Close();
#endif
            }
        }
コード例 #2
0
ファイル: Http.cs プロジェクト: yolpsoftware/RestSharp
        private static void ExtractResponseData(HttpResponse response, HttpWebResponse webResponse)
        {
            using (webResponse)
            {
            #if FRAMEWORK
                response.ContentEncoding = webResponse.ContentEncoding;
                response.Server = webResponse.Server;
            #endif
                response.ContentType = webResponse.ContentType;
                response.ContentLength = webResponse.ContentLength;

            #if WINDOWS_PHONE71
                if (webResponse.Headers[HttpRequestHeader.ContentEncoding] == "gzip")
                {
                    var uncompressedResponse = new SharpGIS.GZipWebClient.GZipWebResponse(webResponse);
                    response.RawBytes = uncompressedResponse.GetResponseStream().ReadAsBytes();
                }
                else
                {
                    response.RawBytes = webResponse.GetResponseStream().ReadAsBytes();
                }
            #else
                response.RawBytes = webResponse.GetResponseStream().ReadAsBytes();
            #endif

                //response.Content = GetString(response.RawBytes);
                response.StatusCode = webResponse.StatusCode;
                response.StatusDescription = webResponse.StatusDescription;
                response.ResponseUri = webResponse.ResponseUri;
                response.ResponseStatus = ResponseStatus.Completed;

                if (webResponse.Cookies != null)
                {
                    foreach (Cookie cookie in webResponse.Cookies)
                    {
                        response.Cookies.Add(new HttpCookie {
                            Comment = cookie.Comment,
                            CommentUri = cookie.CommentUri,
                            Discard = cookie.Discard,
                            Domain = cookie.Domain,
                            Expired = cookie.Expired,
                            Expires = cookie.Expires,
                            HttpOnly = cookie.HttpOnly,
                            Name = cookie.Name,
                            Path = cookie.Path,
                            Port = cookie.Port,
                            Secure = cookie.Secure,
                            TimeStamp = cookie.TimeStamp,
                            Value = cookie.Value,
                            Version = cookie.Version
                        });
                    }
                }

                foreach (var headerName in webResponse.Headers.AllKeys)
                {
                    var headerValue = webResponse.Headers[headerName];
                    response.Headers.Add(new HttpHeader { Name = headerName, Value = headerValue });
                }
            #if !NETFX_CORE
                webResponse.Close();
            #endif
            }
        }