static void Connect(string uri, bool stats)
{
HttpWebRequest req = (HttpWebRequest) WebRequest.Create (uri);
req.AllowAutoRedirect = false;
HttpWebResponse wr = (HttpWebResponse) req.GetResponse ();
Stream s = wr.GetResponseStream ();
long length = wr.ContentLength;
if (length >= 0) {
byte [] buffer = new byte [length];
s.Read (buffer, 0, (int) length);
/*int r = s.Read (buffer, 0, (int) length);
Console.Write (System.Text.Encoding.Default.GetString (buffer, 0, r));*/
} else {
byte [] buffer = new byte [4096];
length = 0;
int read = 0;
while ((read = s.Read (buffer, 0, 4096)) != 0) {
//Console.Write (System.Text.Encoding.Default.GetString (buffer, 0, read));
length += read;
}
}
s.Close ();
if (stats) {
Counters.TotalBytesRead += length;
Counters.TotalBytesRead += wr.Headers.ToString ().Length;
Counters.TotalBytesRead += wr.Headers.ToString ().Length;
// 17 -> "HTTP/1.x YYY \r\n".Length
Counters.TotalBytesRead += 17 + wr.StatusDescription.Length;
}
if (server == null)
server = wr.Headers ["Server"];
}