4 instantiations of HttpParseResult
Microsoft.AspNetCore.Server.Kestrel.Core (4)
Internal\Http\IHttpParser.cs (4)
44public static HttpParseResult Incomplete => new(ParseStatus.Incomplete); 47public static HttpParseResult Complete => new(ParseStatus.Complete); 50public static HttpParseResult Error(RequestRejectionReason reason) => new(ParseStatus.Error, reason); 53public static HttpParseResult Error(RequestRejectionReason reason, int offset, int length) => new(ParseStatus.Error, reason, offset, length);
73 references to HttpParseResult
Microsoft.AspNetCore.Server.Kestrel.Core (67)
Internal\Http\Http1Connection.cs (21)
271private HttpParseResult TryParseRequestCore(ref SequenceReader<byte> reader) 285return HttpParseResult.Incomplete; 293var startLineResult = TryTakeStartLineCore(ref reader); 303return HttpParseResult.Incomplete; 306var headersResult = TryTakeMessageHeadersCore(ref reader, trailers: false); 314return HttpParseResult.Complete; 316return HttpParseResult.Incomplete; 319return HttpParseResult.Incomplete; 322private HttpParseResult TryTakeStartLineCore(ref SequenceReader<byte> reader) 331HttpParseResult TryTrimAndTakeStartLineCore(ref SequenceReader<byte> reader) 336var result = _parser.TryParseRequestLine(new Http1ParsingHandler(this), ref trimmedReader); 343return HttpParseResult.Error(RequestRejectionReason.RequestLineTooLong); 347return HttpParseResult.Complete; 351private HttpParseResult TryTakeMessageHeadersCore(ref SequenceReader<byte> reader, bool trailers) 359var result = _parser.TryParseHeaders(new Http1ParsingHandler(this, trailers), ref reader); 369HttpParseResult TryTrimAndTakeMessageHeadersCore(ref SequenceReader<byte> reader, bool trailers) 374var result = _parser.TryParseHeaders(new Http1ParsingHandler(this, trailers), ref trimmedReader); 383return HttpParseResult.Error(RequestRejectionReason.HeadersExceedMaxTotalSize); 388return HttpParseResult.Complete; 831HttpParseResult parseResult; 980private BadHttpRequestException CreateBadRequestException(HttpParseResult parseResult, ReadOnlySequence<byte> buffer)
Internal\Http\HttpParser.cs (40)
65var result = TryParseRequestLine(handler, ref reader); 79var result = TryParseHeaders(handler, ref reader); 88HttpParseResult IHttpParser<TRequestHandler>.TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader) 91HttpParseResult IHttpParser<TRequestHandler>.TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader) 113private HttpParseResult TryParseMultiSpanHeader(TRequestHandler handler, ref SequenceReader<byte> reader, out int headerLength) 129return HttpParseResult.Incomplete; 144return HttpParseResult.Incomplete; 153return HttpParseResult.Incomplete; 163return HttpParseResult.Incomplete; 170return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length + 1); 186return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length + 1); 199return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length); 227return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length); 231return HttpParseResult.Complete; 361private void ThrowParseError(HttpParseResult result, ReadOnlySequence<byte> buffer) 387internal HttpParseResult TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader) 397return HttpParseResult.Incomplete; 414var result = TryGetUnknownMethodLength(requestLine, baseOffset, out methodEnd); 511return HttpParseResult.Error(RequestRejectionReason.UnrecognizedHTTPVersion, baseOffset + offset, versionLength); 519return HttpParseResult.Complete; 522private static HttpParseResult TryGetUnknownMethodLength(ReadOnlySpan<byte> span, int baseOffset, out int methodEnd) 532return HttpParseResult.Error(reason, baseOffset, span.Length); 536return HttpParseResult.Complete; 539private static HttpParseResult GetRequestLineError(ReadOnlySpan<byte> requestLine, int baseOffset) 544return HttpParseResult.Error(reason, baseOffset, requestLine.Length); 547private static HttpParseResult GetRequestLineError(ReadOnlySpan<byte> requestLine, ref SequenceReader<byte> reader, int baseOffset) 556return HttpParseResult.Error(reason, baseOffset, fullLine.Length); 562internal HttpParseResult TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader) 574return HttpParseResult.Complete; 611return HttpParseResult.Incomplete; 616return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeadersNoCRLF, headerLineStart, crIndex + 2); 621return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, crIndex + 2); 632return HttpParseResult.Complete; 642return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, lfIndex + 1); 651return HttpParseResult.Complete; 658var multiSpanResult = TryParseMultiSpanHeader(handler, ref reader, out var length); 665return HttpParseResult.Incomplete; 683return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, headerLineLength); 690return HttpParseResult.Error(RequestRejectionReason.MalformedRequestInvalidHeaders); 694return HttpParseResult.Incomplete;
Internal\Http\IHttpParser.cs (6)
44public static HttpParseResult Incomplete => new(ParseStatus.Incomplete); 47public static HttpParseResult Complete => new(ParseStatus.Complete); 50public static HttpParseResult Error(RequestRejectionReason reason) => new(ParseStatus.Error, reason); 53public static HttpParseResult Error(RequestRejectionReason reason, int offset, int length) => new(ParseStatus.Error, reason, offset, length); 62HttpParseResult TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader); 64HttpParseResult TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader);
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (2)
HttpParserTests.cs (2)
870var result = parser.TryParseRequestLine(requestHandler, ref reader); 933var result = parser.TryParseHeaders(requestHandler, ref reader);
Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks (4)
Mocks\NullParser.cs (4)
46HttpParseResult IHttpParser<TRequestHandler>.TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader) 49return HttpParseResult.Complete; 52HttpParseResult IHttpParser<TRequestHandler>.TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader) 55return HttpParseResult.Complete;