/// <summary>
        /// Initializes a new instance of the HttpResponseMessageWrapper class from HttpResponseMessage
        /// and content.
        /// </summary>
        public HttpResponseMessageWrapper(HttpResponseMessage httpResponse, string content)
        {
            if (httpResponse == null)
            {
                throw new ArgumentNullException("httpResponse");
            }

            this.CopyHeaders(httpResponse.Headers);
            this.CopyHeaders(httpResponse.GetContentHeaders());

            this.Content = content;
            this.StatusCode = httpResponse.StatusCode;
            this.ReasonPhrase = httpResponse.ReasonPhrase;
        }
        /// <summary>
        /// Creates a new CloudHttpResponseErrorInfo from a HttpResponseMessage.
        /// </summary>
        /// <param name="response">The resposne message.</param>
        /// <param name="content">
        /// The response content, which may be passed separately if the
        /// response has already been disposed.
        /// </param>
        /// <returns>A CloudHttpResponseErrorInfo instance.</returns>
        public static CloudHttpResponseErrorInfo Create(HttpResponseMessage response, string content)
        {
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            CloudHttpResponseErrorInfo info = new CloudHttpResponseErrorInfo();

            // Copy CloudHttpErrorInfo properties
            info.Content = content;
            info.Version = response.Version;
            info.CopyHeaders(response.Headers);
            info.CopyHeaders(response.GetContentHeaders());

            // Copy CloudHttpResponseErrorInfo properties
            info.StatusCode = response.StatusCode;
            info.ReasonPhrase = response.ReasonPhrase;
            
            return info;
        }
Esempio n. 3
0
        /// <summary>
        /// Append an HTTP response.
        /// </summary>
        /// <param name="text">The StringBuilder.</param>
        /// <param name="response">The response message.</param>
        public static void AppendHttpResponse(this StringBuilder text, HttpResponseMessage response)
        {
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            text.AppendHttpResponse(
                response.StatusCode,
                response.ReasonPhrase,
                response.Version,
                response.Headers,
                response.GetContentHeaders(),
                response.Content.AsString());
        }