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)
275
private
HttpParseResult
TryParseRequestCore(ref SequenceReader<byte> reader)
289
return
HttpParseResult
.Incomplete;
297
var
startLineResult = TryTakeStartLineCore(ref reader);
307
return
HttpParseResult
.Incomplete;
310
var
headersResult = TryTakeMessageHeadersCore(ref reader, trailers: false);
318
return
HttpParseResult
.Complete;
320
return
HttpParseResult
.Incomplete;
323
return
HttpParseResult
.Incomplete;
326
private
HttpParseResult
TryTakeStartLineCore(ref SequenceReader<byte> reader)
335
HttpParseResult
TryTrimAndTakeStartLineCore(ref SequenceReader<byte> reader)
340
var
result = _parser.TryParseRequestLine(new Http1ParsingHandler(this), ref trimmedReader);
347
return
HttpParseResult
.Error(RequestRejectionReason.RequestLineTooLong);
351
return
HttpParseResult
.Complete;
355
private
HttpParseResult
TryTakeMessageHeadersCore(ref SequenceReader<byte> reader, bool trailers)
363
var
result = _parser.TryParseHeaders(new Http1ParsingHandler(this, trailers), ref reader);
373
HttpParseResult
TryTrimAndTakeMessageHeadersCore(ref SequenceReader<byte> reader, bool trailers)
378
var
result = _parser.TryParseHeaders(new Http1ParsingHandler(this, trailers), ref trimmedReader);
387
return
HttpParseResult
.Error(RequestRejectionReason.HeadersExceedMaxTotalSize);
392
return
HttpParseResult
.Complete;
886
HttpParseResult
parseResult;
1035
private BadHttpRequestException CreateBadRequestException(
HttpParseResult
parseResult, ReadOnlySequence<byte> buffer)
Internal\Http\HttpParser.cs (40)
81
var
result = TryParseRequestLine(handler, ref reader);
95
var
result = TryParseHeaders(handler, ref reader);
104
HttpParseResult
IHttpParser<TRequestHandler>.TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader)
107
HttpParseResult
IHttpParser<TRequestHandler>.TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader)
129
private
HttpParseResult
TryParseMultiSpanHeader(TRequestHandler handler, ref SequenceReader<byte> reader, out int headerLength)
145
return
HttpParseResult
.Incomplete;
160
return
HttpParseResult
.Incomplete;
169
return
HttpParseResult
.Incomplete;
179
return
HttpParseResult
.Incomplete;
187
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length + 1);
204
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length + 1);
218
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length);
246
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, baseOffset, length);
250
return
HttpParseResult
.Complete;
380
private void ThrowParseError(
HttpParseResult
result, ReadOnlySequence<byte> buffer)
406
internal
HttpParseResult
TryParseRequestLine(TRequestHandler handler, ref SequenceReader<byte> reader)
416
return
HttpParseResult
.Incomplete;
433
var
result = TryGetUnknownMethodLength(requestLine, baseOffset, out methodEnd);
539
return
HttpParseResult
.Error(RequestRejectionReason.UnrecognizedHTTPVersion, baseOffset + offset, versionLength);
547
return
HttpParseResult
.Complete;
550
private static
HttpParseResult
TryGetUnknownMethodLength(ReadOnlySpan<byte> span, int baseOffset, out int methodEnd)
560
return
HttpParseResult
.Error(reason, baseOffset, span.Length);
564
return
HttpParseResult
.Complete;
567
private static
HttpParseResult
GetRequestLineError(ReadOnlySpan<byte> requestLine, int baseOffset)
572
return
HttpParseResult
.Error(reason, baseOffset, requestLine.Length);
575
private static
HttpParseResult
GetRequestLineError(ReadOnlySpan<byte> requestLine, ref SequenceReader<byte> reader, int baseOffset)
584
return
HttpParseResult
.Error(reason, baseOffset, fullLine.Length);
590
internal
HttpParseResult
TryParseHeaders(TRequestHandler handler, ref SequenceReader<byte> reader)
602
return
HttpParseResult
.Complete;
639
return
HttpParseResult
.Incomplete;
644
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeadersNoCRLF, headerLineStart, crIndex + 2);
649
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, crIndex + 2);
660
return
HttpParseResult
.Complete;
671
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, lfIndex + 1);
682
return
HttpParseResult
.Complete;
689
var
multiSpanResult = TryParseMultiSpanHeader(handler, ref reader, out var length);
696
return
HttpParseResult
.Incomplete;
714
return
HttpParseResult
.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, headerLineLength);
721
return
HttpParseResult
.Error(RequestRejectionReason.MalformedRequestInvalidHeaders);
725
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);