internal void Reset()
 {
     if (_timer != null)
     {
         _timer.Dispose();
         _timer = null;
     }
     _method = null;
     _path = null;
     _version = null;
     _mreParameters.Reset();
     _connection = null;
     _contentBuffer = new MemoryStream();
     _headers = null;
     _parameters = null;
     _jsonParameter = null;
     _uploadedFiles = null;
     _handlingThread = null;
     _response.Dispose();
     _response = null;
 }
 internal void StartRequest(long id,string[] words,HttpConnection connection,ref HttpParser parser)
 {
     _id = id;
     _method = words[0].ToUpper();
     _path = words[1];
     _version = words[2];
     _mreParameters = new ManualResetEvent(false);
     _connection = connection;
     _contentBuffer = new MemoryStream();
     _requestTimeout = _requestStart.AddMilliseconds(int.MaxValue);
     _headers = new HeaderCollection();
     _requestStart = DateTime.Now;
     _parser = parser;
     _response = new HttpResponse(this);
     parser.RequestHeaderLineRecieved = _RequestHeaderLineReceived;
     parser.RequestHeaderComplete = _RequestHeaderComplete;
     parser.RequestBodyBytesRecieved = _RequestBodyBytesReceived;
     parser.RequestComplete = _RequestComplete;
 }