private void ProcessHeaders()
{
knownRequestHeaders = new string[RequestHeaderMaximum];
IList unknownHeaders = new ArrayList();
foreach(String name in requestData.Headers)
{
String value = requestData.Headers[name];
int index = GetKnownRequestHeaderIndex(name);
if (index >= 0)
{
knownRequestHeaders[index] = value;
}
else
{
unknownHeaders.Add(name);
unknownHeaders.Add(value);
}
}
int totalunknownHeaders = unknownHeaders.Count / 2;
unknownRequestHeaders = new String[totalunknownHeaders][];
int j = 0;
for(int i = 0; i < totalunknownHeaders; i++)
{
unknownRequestHeaders[i] = new String[2];
unknownRequestHeaders[i][0] = (String) unknownHeaders[j++];
unknownRequestHeaders[i][1] = (String) unknownHeaders[j++];
}
}