System.Net.Http.HttpClientHandler.CreateResponseMessage C# (CSharp) Method

CreateResponseMessage() private method

private CreateResponseMessage ( HttpWebResponse wr, HttpRequestMessage requestMessage, CancellationToken cancellationToken ) : HttpResponseMessage
wr System.Net.HttpWebResponse
requestMessage HttpRequestMessage
cancellationToken System.Threading.CancellationToken
return HttpResponseMessage
		HttpResponseMessage CreateResponseMessage (HttpWebResponse wr, HttpRequestMessage requestMessage, CancellationToken cancellationToken)
		{
			var response = new HttpResponseMessage (wr.StatusCode);
			response.RequestMessage = requestMessage;
			response.ReasonPhrase = wr.StatusDescription;
			response.Content = new StreamContent (wr.GetResponseStream (), cancellationToken);

			var headers = wr.Headers;
			for (int i = 0; i < headers.Count; ++i) {
				var key = headers.GetKey(i);
				var value = headers.GetValues (i);

				HttpHeaders item_headers;
				if (HttpHeaders.GetKnownHeaderKind (key) == Headers.HttpHeaderKind.Content)
					item_headers = response.Content.Headers;
				else
					item_headers = response.Headers;
					
				item_headers.TryAddWithoutValidation (key, value);
			}

			requestMessage.RequestUri = wr.ResponseUri;

			return response;
		}