4 instantiations of HttpParseResult
Microsoft.AspNetCore.Server.Kestrel.Core (4)
Internal\Http\IHttpParser.cs (4)
44
public static HttpParseResult Incomplete =>
new
(ParseStatus.Incomplete);
47
public static HttpParseResult Complete =>
new
(ParseStatus.Complete);
50
public static HttpParseResult Error(RequestRejectionReason reason) =>
new
(ParseStatus.Error, reason);
53
public static HttpParseResult Error(RequestRejectionReason reason, int offset, int length) =>
new
(ParseStatus.Error, reason, offset, length);
67 references to HttpParseResult
Microsoft.AspNetCore.Server.Kestrel.Core (67)
Internal\Http\Http1Connection.cs (21)
272
private
HttpParseResult
TryParseRequestCore(ref SequenceReader<byte> reader)
286
return
HttpParseResult
.Incomplete;
294
var
startLineResult = TryTakeStartLineCore(ref reader);
304
return
HttpParseResult
.Incomplete;
307
var
headersResult = TryTakeMessageHeadersCore(ref reader, trailers: false);
315
return
HttpParseResult
.Complete;
317
return
HttpParseResult
.Incomplete;
320
return
HttpParseResult
.Incomplete;
323
private
HttpParseResult
TryTakeStartLineCore(ref SequenceReader<byte> reader)
332
HttpParseResult
TryTrimAndTakeStartLineCore(ref SequenceReader<byte> reader)
337
var
result = _parser.TryParseRequestLine(new Http1ParsingHandler(this), ref trimmedReader);
344
return
HttpParseResult
.Error(RequestRejectionReason.RequestLineTooLong);
348
return
HttpParseResult
.Complete;
352
private
HttpParseResult
TryTakeMessageHeadersCore(ref SequenceReader<byte> reader, bool trailers)
360
var
result = _parser.TryParseHeaders(new Http1ParsingHandler(this, trailers), ref reader);
370
HttpParseResult
TryTrimAndTakeMessageHeadersCore(ref SequenceReader<byte> reader, bool trailers)
375
var
result = _parser.TryParseHeaders(new Http1ParsingHandler(this, trailers), ref trimmedReader);
384
return
HttpParseResult
.Error(RequestRejectionReason.HeadersExceedMaxTotalSize);
389
return
HttpParseResult
.Complete;
860
HttpParseResult
parseResult;
1009
private BadHttpRequestException CreateBadRequestException(
HttpParseResult
parseResult, ReadOnlySequence<byte> buffer)
Internal\Http\HttpParser.cs (40)
65
var
result = TryParseRequestLine(handler, ref reader);
79
var
result = TryParseHeaders(handler, ref reader);
88
HttpParseResult
IHttpParser<TRequestHandler>.TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader)
91
HttpParseResult
IHttpParser<TRequestHandler>.TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader)
113
private
HttpParseResult
TryParseMultiSpanHeader(TRequestHandler handler, ref SequenceReader<byte> reader, out int headerLength)
129
return
HttpParseResult
.Incomplete;
144
return
HttpParseResult
.Incomplete;
153
return
HttpParseResult
.Incomplete;
163
return
HttpParseResult
.Incomplete;
170
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length + 1);
186
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length + 1);
199
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length);
227
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length);
231
return
HttpParseResult
.Complete;
361
private void ThrowParseError(
HttpParseResult
result, ReadOnlySequence<byte> buffer)
387
internal
HttpParseResult
TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader)
397
return
HttpParseResult
.Incomplete;
414
var
result = TryGetUnknownMethodLength(requestLine, baseOffset, out methodEnd);
511
return
HttpParseResult
.Error(RequestRejectionReason.UnrecognizedHTTPVersion, baseOffset + offset, versionLength);
519
return
HttpParseResult
.Complete;
522
private static
HttpParseResult
TryGetUnknownMethodLength(ReadOnlySpan<byte> span, int baseOffset, out int methodEnd)
532
return
HttpParseResult
.Error(reason, baseOffset, span.Length);
536
return
HttpParseResult
.Complete;
539
private static
HttpParseResult
GetRequestLineError(ReadOnlySpan<byte> requestLine, int baseOffset)
544
return
HttpParseResult
.Error(reason, baseOffset, requestLine.Length);
547
private static
HttpParseResult
GetRequestLineError(ReadOnlySpan<byte> requestLine, ref SequenceReader<byte> reader, int baseOffset)
556
return
HttpParseResult
.Error(reason, baseOffset, fullLine.Length);
562
internal
HttpParseResult
TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader)
574
return
HttpParseResult
.Complete;
611
return
HttpParseResult
.Incomplete;
616
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeadersNoCRLF, headerLineStart, crIndex + 2);
621
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, crIndex + 2);
632
return
HttpParseResult
.Complete;
642
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, lfIndex + 1);
651
return
HttpParseResult
.Complete;
658
var
multiSpanResult = TryParseMultiSpanHeader(handler, ref reader, out var length);
665
return
HttpParseResult
.Incomplete;
683
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, headerLineLength);
690
return
HttpParseResult
.Error(RequestRejectionReason.MalformedRequestInvalidHeaders);
694
return
HttpParseResult
.Incomplete;
Internal\Http\IHttpParser.cs (6)
44
public static
HttpParseResult
Incomplete => new(ParseStatus.Incomplete);
47
public static
HttpParseResult
Complete => new(ParseStatus.Complete);
50
public static
HttpParseResult
Error(RequestRejectionReason reason) => new(ParseStatus.Error, reason);
53
public static
HttpParseResult
Error(RequestRejectionReason reason, int offset, int length) => new(ParseStatus.Error, reason, offset, length);
62
HttpParseResult
TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader);
64
HttpParseResult
TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader);