private void CopyHeaderValues(HttpResponseMessage response)
{
List<string> headerNames = new List<string>();
_headers = new Dictionary<string, string>(10, StringComparer.OrdinalIgnoreCase);
foreach (KeyValuePair<string, IEnumerable<string>> kvp in response.Headers)
{
headerNames.Add(kvp.Key);
var headerValue = GetFirstHeaderValue(response.Headers, kvp.Key);
_headers.Add(kvp.Key, headerValue);
}
if (response.Content != null)
{
foreach (var kvp in response.Content.Headers)
{
if (!headerNames.Contains(kvp.Key))
{
headerNames.Add(kvp.Key);
var headerValue = GetFirstHeaderValue(response.Content.Headers, kvp.Key);
_headers.Add(kvp.Key, headerValue);
}
}
}
_headerNames = headerNames.ToArray();
_headerNamesSet = new HashSet<string>(_headerNames, StringComparer.OrdinalIgnoreCase);
}