Exemplo n.º 1
0
        private static RestResponse CreateNormalResponse(HttpWebResponse webResponse)
        {
            string   content;
            Encoding encodingToUse = Encoding.UTF8;

            if (!string.IsNullOrEmpty(webResponse.ContentEncoding))
            {
                encodingToUse = Encoding.GetEncoding(webResponse.ContentEncoding);
            }
            else if (!string.IsNullOrEmpty(webResponse.Headers[HttpResponseHeader.ContentType]))
            {
                encodingToUse = RestContentTypes.ParseContentTypeHeader(webResponse.Headers[HttpResponseHeader.ContentType]).Encoding;
            }


            using (Stream s = webResponse.GetResponseStream())
                using (StreamReader sr = new StreamReader(s, encodingToUse))
                {
                    content = sr.ReadToEnd();
                }

            RestResponse response = new RestResponse(
                webResponse.StatusCode,
                webResponse.StatusDescription,
                webResponse.Headers,
                content
                );

            webResponse.Close();
            return(response);
        }