public void OnBody(IHttpCombinedParser parser, ArraySegment <byte> data) { if (data.Array != null) { RequestResponse.Body.Write(data.Array, 0, data.Array.Length); } }
public void OnHeaderName(IHttpCombinedParser combinedParser, string name) { // Header Field Names are case-insensitive http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 if (HttpRequestReponse.Headers.ContainsKey(name.ToUpper())) { _headerAlreadyExist = true; } _headerName = name.ToUpper(); }
public void OnHeaderValue(IHttpCombinedParser combinedParser, 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 HttpRequestReponse.Headers[_headerName] = $"{HttpRequestReponse.Headers[_headerName]}, {value}"; _headerAlreadyExist = false; } else { HttpRequestReponse.Headers[_headerName] = value; } }
public void OnMessageEnd(IHttpCombinedParser combinedParser) { HttpRequestResponse.IsEndOfMessage = true; if (!HttpRequestResponse.IsRequestTimedOut && !HttpRequestResponse.IsUnableToParseHttp) { _observerHandshakeParserState.OnNext(ParserState.HandshakeCompletedSuccessfully); } else { _observerHandshakeParserState.OnNext(ParserState.HandshakeFailed); _observerHandshakeParserState.OnError(new Exception("Unable to complete handshake")); return; } _observerHandshakeParserState.OnCompleted(); }
public void OnResponseType(IHttpCombinedParser combinedParser) { MessageType = MessageType.Response; }
public void OnResponseType(IHttpCombinedParser combinedParser) { HttpRequestReponse.MessageType = MessageType.Response; MessageType = MessageType.Response; }
public void OnFragment(IHttpCombinedParser combinedParser, string fragment) { //throw new NotImplementedException(); }
public void OnRequestUri(IHttpCombinedParser combinedParser, string requestUri) { //throw new NotImplementedException(); }
public void OnBody(IHttpCombinedParser combinedParser, ArraySegment <byte> data) { //throw new NotImplementedException(); }
public void OnMessageBegin(IHttpCombinedParser combinedParser) { //throw new NotImplementedException(); }
public void OnMethod(IHttpCombinedParser parser, string method) { HttpRequestReponse.Method = method; }
public void OnMessageBegin(IHttpCombinedParser parser) { }
public void OnMessageBegin(IHttpCombinedParser parser) { _observerParserState.OnNext(ParserState.Parsing); }
public void OnMessageEnd(IHttpCombinedParser parser) { RequestResponse.IsEndOfRequest = true; _observerParserState.OnCompleted(); }
public void OnHeadersEnd(IHttpCombinedParser parser) { IsHeaderDone = true; }
public void OnChunkReceived(IHttpCombinedParser combinedParser) { }
public void OnMessageEnd(IHttpCombinedParser combinedParser) { HttpRequestReponse.IsEndOfMessage = true; }
public void OnRequestUri(IHttpCombinedParser parser, string requestUri) { HttpRequestReponse.RequestUri = requestUri; }
public void OnPath(IHttpCombinedParser parser, string path) { HttpRequestReponse.Path = path; }
public void OnFragment(IHttpCombinedParser parser, string fragment) { HttpRequestReponse.Fragment = fragment; }
public void OnHeadersEnd(IHttpCombinedParser combinedParser) { //throw new NotImplementedException(); }
public void OnQueryString(IHttpCombinedParser parser, string queryString) { HttpRequestReponse.QueryString = queryString; }
public void OnMethod(IHttpCombinedParser combinedParser, string method) { //throw new NotImplementedException(); }
public void OnTransferEncodingChunked(IHttpCombinedParser combinedParser, bool isChunked) { HttpRequestReponse.IsChunked = isChunked; }
public void OnPath(IHttpCombinedParser combinedParser, string path) { //throw new NotImplementedException(); }
public void OnTransferEncodingChunked(IHttpCombinedParser combinedParser, bool isChunked) { }
public void OnQueryString(IHttpCombinedParser combinedParser, string queryString) { //throw new NotImplementedException(); }
public void OnChunkedLength(IHttpCombinedParser combinedParser, int length) { }
public void OnResponseCode(IHttpCombinedParser combinedParser, int statusCode, string statusReason) { HttpRequestReponse.StatusCode = statusCode; HttpRequestReponse.ResponseReason = statusReason; }
public void OnRequestType(IHttpCombinedParser combinedParser) { MessageType = MessageType.Request; }