//http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
 public void OnHeaderName(HttpMachine.HttpParser parser, string name)
 {
     if (Headers.ContainsKey(name.ToUpper()))
     {
         // Header Field Names are case-insensitive http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
         _headerAlreadyExist = true;
     }
     _headerName = name.ToUpper();
 }
 public void OnHeaderValue(HttpMachine.HttpParser parser, string value)
 {
     if (_headerAlreadyExist)
     {
         // Join multiple message-header fields into one comma seperated list http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
         Headers[_headerName] = $"{Headers[_headerName]}, {value}";
         _headerAlreadyExist  = false;
     }
     else
     {
         Headers[_headerName] = value;
     }
 }
 public void OnHeadersEnd(HttpMachine.HttpParser parser)
 {
     //throw new NotImplementedException();
 }