public static HttpRequest ToHttpRequest(this HttpRequestMessage request) { HttpRequest httpRequest = new HttpRequest(); HttpRequestHeaders headers = request.Headers; object second; if (request.Content == null) { second = Enumerable.Empty <KeyValuePair <string, IEnumerable <string> > >(); } else { IEnumerable <KeyValuePair <string, IEnumerable <string> > > headers2 = request.Content.Headers; second = headers2; } IEnumerable <KeyValuePair <string, IEnumerable <string> > > enumerable = headers.Union((IEnumerable <KeyValuePair <string, IEnumerable <string> > >)second); foreach (KeyValuePair <string, IEnumerable <string> > item in enumerable) { httpRequest.AddHeader(item.Key, string.Join(GetHeaderSeparator(item.Key), item.Value)); } return(httpRequest); }