/// <summary> /// Creates a new CloudHttpRequestErrorInfo from a HttpRequestMessage. /// </summary> /// <param name="request">The request message.</param> /// <param name="content"> /// The request content, which may be passed separately if the request /// has already been disposed. /// </param> /// <returns>A CloudHttpRequestErrorInfo instance.</returns> public static CloudHttpRequestErrorInfo Create(HttpRequestMessage request, string content) { if (request == null) { throw new ArgumentNullException("request"); } CloudHttpRequestErrorInfo info = new CloudHttpRequestErrorInfo(); // Copy CloudHttpErrorInfo properties info.Content = content; info.Version = request.Version; info.CopyHeaders(request.Headers); info.CopyHeaders(request.GetContentHeaders()); // Copy CloudHttpRequestErrorInfo properties info.Method = request.Method; info.RequestUri = request.RequestUri; if (request.Properties != null) { foreach (KeyValuePair<string, object> pair in request.Properties) { info.Properties[pair.Key] = pair.Value; } } return info; }
/// <summary> /// Initializes a new instance of the HttpRequestMessageWrapper class from HttpRequestMessage /// and content. /// </summary> public HttpRequestMessageWrapper(HttpRequestMessage httpRequest, string content) { if (httpRequest == null) { throw new ArgumentNullException("httpRequest"); } this.CopyHeaders(httpRequest.Headers); this.CopyHeaders(httpRequest.GetContentHeaders()); this.Content = content; this.Method = httpRequest.Method; this.RequestUri = httpRequest.RequestUri; if (httpRequest.Properties != null) { Properties = new Dictionary<string, object>(); foreach (KeyValuePair<string, object> pair in httpRequest.Properties) { this.Properties[pair.Key] = pair.Value; } } }
/// <summary> /// Append an HTTP request. /// </summary> /// <param name="text">The StringBuilder.</param> /// <param name="request">The request message.</param> public static void AppendHttpRequest(this StringBuilder text, HttpRequestMessage request) { if (request == null) { throw new ArgumentNullException("request"); } text.AppendHttpRequest( request.Method, request.RequestUri, request.Version, request.Headers, request.GetContentHeaders(), request.Properties, request.Content.AsString()); }