protected void HandleConnectionOnSeparateThread(TcpClient TcpClient)
{
var Stream = TcpClient.GetStream();
int HeaderLength = int.Parse(Stream.ReadUntilString((byte)':', Encoding.UTF8));
var HeaderData = Stream.ReadBytes(HeaderLength);
int C = Stream.ReadByte();
if (C != ',') throw (new Exception("Invalid Scgi request"));
var Headers = DecodeHeaders(HeaderData);
int ContentLength = int.Parse(Headers["CONTENT_LENGTH"]);
var ContentData = Stream.ReadBytes(ContentLength);
HandleRequest(new HttpHeaderList(), Headers, ContentData);
}