private void CopyHeaderValues(HttpWebResponse response)
{
var keys = response.Headers.Keys;
_headerNames = new string[keys.Count];
_headers = new Dictionary<string, string>(keys.Count, StringComparer.OrdinalIgnoreCase);
for (int i = 0; i < keys.Count; i++)
{
var key = keys[i];
var headerValue = response.GetResponseHeader(key);
_headerNames[i] = key;
_headers.Add(key, headerValue);
}
_headerNamesSet = new HashSet<string>(_headerNames, StringComparer.OrdinalIgnoreCase);
}