164 references to RequestRejectionReason
InMemory.FunctionalTests (1)
ChunkedRequestTests.cs (1)
966Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, badReqEx.Reason);
Microsoft.AspNetCore.Server.Kestrel.Core (145)
BadHttpRequestException.cs (3)
16internal BadHttpRequestException(string message, int statusCode, RequestRejectionReason reason) 20internal BadHttpRequestException(string message, int statusCode, RequestRejectionReason reason, HttpMethod? requiredMethod) 38internal RequestRejectionReason Reason { get; }
Internal\Http\Http1ChunkedEncodingMessageBody.cs (5)
113KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTimeout); 348KestrelBadHttpRequestException.Throw(RequestRejectionReason.BadChunkSizeData); 426KestrelBadHttpRequestException.Throw(RequestRejectionReason.BadChunkExtension); 472KestrelBadHttpRequestException.Throw(RequestRejectionReason.BadChunkSuffix); 531KestrelBadHttpRequestException.Throw(RequestRejectionReason.BadChunkSizeData);
Internal\Http\Http1Connection.cs (44)
209KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestLineTooLong); 252KestrelBadHttpRequestException.Throw(RequestRejectionReason.HeadersExceedMaxTotalSize); 343return HttpParseResult.Error(RequestRejectionReason.RequestLineTooLong); 383return HttpParseResult.Error(RequestRejectionReason.HeadersExceedMaxTotalSize); 569KestrelBadHttpRequestException.Throw(RequestRejectionReason.ConnectMethodRequired); 613KestrelBadHttpRequestException.Throw(RequestRejectionReason.OptionsMethodRequired); 713KestrelBadHttpRequestException.Throw(RequestRejectionReason.MissingHostHeader); 717KestrelBadHttpRequestException.Throw(RequestRejectionReason.MultipleHostHeaders); 727KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidHostHeader, hostText); 738KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidHostHeader, hostText); 771KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidHostHeader, hostText); 780KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidHostHeader, hostText); 877HandleBadRequest(result.Buffer, RequestRejectionReason.InvalidRequestLine); 881HandleBadRequest(result.Buffer, RequestRejectionReason.MalformedRequestInvalidHeaders); 897HandleBadRequest(result.Buffer, RequestRejectionReason.RequestHeadersTimeout); 922case RequestRejectionReason.UnrecognizedHTTPVersion: 924case RequestRejectionReason.InvalidRequestLine: 925case RequestRejectionReason.RequestLineTooLong: 926case RequestRejectionReason.InvalidRequestTarget: 928case RequestRejectionReason.InvalidRequestHeadersNoCRLF: 929case RequestRejectionReason.InvalidRequestHeader: 930case RequestRejectionReason.InvalidContentLength: 931case RequestRejectionReason.MultipleContentLengths: 932case RequestRejectionReason.MalformedRequestInvalidHeaders: 933case RequestRejectionReason.InvalidCharactersInHeaderName: 934case RequestRejectionReason.LengthRequiredHttp10: 935case RequestRejectionReason.OptionsMethodRequired: 936case RequestRejectionReason.ConnectMethodRequired: 937case RequestRejectionReason.MissingHostHeader: 938case RequestRejectionReason.MultipleHostHeaders: 939case RequestRejectionReason.InvalidHostHeader: 941case RequestRejectionReason.HeadersExceedMaxTotalSize: 943case RequestRejectionReason.TooManyHeaders: 945case RequestRejectionReason.TlsOverHttpError: 947case RequestRejectionReason.UnexpectedEndOfRequestContent: 969private void HandleBadRequest(ReadOnlySequence<byte> requestData, RequestRejectionReason reason) 983if (parseResult.ErrorReason == RequestRejectionReason.InvalidRequestHeadersNoCRLF) 1014if (ex.Reason == RequestRejectionReason.UnrecognizedHTTPVersion) 1088RequestRejectionReason.UnrecognizedHTTPVersion => HttpVersionNotSupportedResponsePrefix, 1089RequestRejectionReason.RequestHeadersTimeout => RequestTimeoutResponsePrefix, 1090RequestRejectionReason.RequestBodyTimeout => RequestTimeoutResponsePrefix, 1091RequestRejectionReason.HeadersExceedMaxTotalSize => HeadersTooLargeResponsePrefix, 1092RequestRejectionReason.TooManyHeaders => HeadersTooLargeResponsePrefix, 1093RequestRejectionReason.RequestLineTooLong => RequestLineTooLongResponsePrefix,
Internal\Http\Http1ContentLengthMessageBody.cs (6)
46KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTimeout); 85KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTimeout); 132KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTimeout); 250KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTooLarge, maxRequestBodySize.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); 272KestrelBadHttpRequestException.Throw(RequestRejectionReason.UnexpectedEndOfRequestContent); 277KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTimeout);
Internal\Http\Http1MessageBody.cs (4)
121KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTooLarge, maxRequestBodySize.ToString(CultureInfo.InvariantCulture)); 166KestrelBadHttpRequestException.Throw(RequestRejectionReason.FinalTransferCodingNotChunked, transferEncoding); 213KestrelBadHttpRequestException.Throw(RequestRejectionReason.LengthRequiredHttp10, context.Method); 242KestrelBadHttpRequestException.Throw(RequestRejectionReason.UnexpectedEndOfRequestContent);
Internal\Http\HttpParser.cs (22)
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); 347=> throw GetInvalidRequestException(RequestRejectionReason.InvalidRequestHeader, headerLine); 350private BadHttpRequestException GetInvalidRequestException(RequestRejectionReason reason, ReadOnlySpan<byte> headerLine) 366if (result.ErrorReason == RequestRejectionReason.InvalidRequestHeadersNoCRLF) 511return HttpParseResult.Error(RequestRejectionReason.UnrecognizedHTTPVersion, baseOffset + offset, versionLength); 529var reason = IsTlsHandshake(span) 530? RequestRejectionReason.TlsOverHttpError 531: RequestRejectionReason.InvalidRequestLine; 541var reason = IsTlsHandshake(requestLine) 542? RequestRejectionReason.TlsOverHttpError 543: RequestRejectionReason.InvalidRequestLine; 553var reason = IsTlsHandshake(fullLine) 554? RequestRejectionReason.TlsOverHttpError 555: RequestRejectionReason.InvalidRequestLine; 616return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeadersNoCRLF, headerLineStart, crIndex + 2); 621return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, crIndex + 2); 642return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, lfIndex + 1); 683return HttpParseResult.Error(RequestRejectionReason.InvalidRequestHeader, headerLineStart, headerLineLength); 690return HttpParseResult.Error(RequestRejectionReason.MalformedRequestInvalidHeaders);
Internal\Http\HttpProtocol.cs (2)
560KestrelBadHttpRequestException.Throw(RequestRejectionReason.TooManyHeaders); 1405RequestRejectionReason.InvalidRequestTarget,
Internal\Http\HttpRequestHeaders.cs (5)
87KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidContentLength, value); 98KestrelBadHttpRequestException.Throw(RequestRejectionReason.MultipleContentLengths); 105KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidContentLength, value.GetRequestHeaderString(HeaderNames.ContentLength, EncodingSelector, checkForNewlineChars: false)); 117KestrelBadHttpRequestException.Throw(RequestRejectionReason.MultipleContentLengths); 129KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidContentLength, value.GetRequestHeaderString(HeaderNames.ContentLength, EncodingSelector, checkForNewlineChars: false));
Internal\Http\IHttpParser.cs (5)
16private readonly RequestRejectionReason _errorReason; 20private HttpParseResult(ParseStatus status, RequestRejectionReason errorReason = default, int errorOffset = 0, int errorLength = 0) 35public RequestRejectionReason ErrorReason => _errorReason; 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);
Internal\Http\MessageBody.cs (1)
200KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTooLarge, maxRequestBodySize.ToString(CultureInfo.InvariantCulture));
Internal\Http2\Http2Connection.cs (2)
263Log.ConnectionBadRequest(ConnectionId, KestrelBadHttpRequestException.GetException(RequestRejectionReason.RequestHeadersTimeout)); 1647catch (BadHttpRequestException bre) when (bre.Reason == RequestRejectionReason.TooManyHeaders)
Internal\Http2\Http2MessageBody.cs (1)
40KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTooLarge, maxRequestBodySize.GetValueOrDefault().ToString(CultureInfo.InvariantCulture));
Internal\Http2\Http2Stream.cs (2)
222KestrelBadHttpRequestException.Throw(RequestRejectionReason.HeadersExceedMaxTotalSize); 228KestrelBadHttpRequestException.Throw(RequestRejectionReason.TooManyHeaders);
Internal\Http3\Http3Connection.cs (1)
901Log.ConnectionBadRequest(ConnectionId, KestrelBadHttpRequestException.GetException(RequestRejectionReason.RequestHeadersTimeout));
Internal\Http3\Http3MessageBody.cs (1)
31KestrelBadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTooLarge, maxRequestBodySize.GetValueOrDefault().ToString(CultureInfo.InvariantCulture));
Internal\Http3\Http3Stream.cs (2)
1010KestrelBadHttpRequestException.Throw(RequestRejectionReason.HeadersExceedMaxTotalSize); 1016KestrelBadHttpRequestException.Throw(RequestRejectionReason.TooManyHeaders);
Internal\Infrastructure\HttpUtilities.cs (1)
97KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidCharactersInHeaderName);
KestrelBadHttpRequestException.cs (38)
15internal static void Throw(RequestRejectionReason reason) 21internal static void Throw(RequestRejectionReason reason, HttpMethod method) 28internal static BadHttpRequestException GetException(RequestRejectionReason reason) 33case RequestRejectionReason.InvalidRequestHeadersNoCRLF: 36case RequestRejectionReason.InvalidRequestLine: 39case RequestRejectionReason.MalformedRequestInvalidHeaders: 42case RequestRejectionReason.MultipleContentLengths: 45case RequestRejectionReason.UnexpectedEndOfRequestContent: 48case RequestRejectionReason.BadChunkSuffix: 51case RequestRejectionReason.BadChunkSizeData: 54case RequestRejectionReason.BadChunkExtension: 57case RequestRejectionReason.ChunkedRequestIncomplete: 60case RequestRejectionReason.InvalidCharactersInHeaderName: 63case RequestRejectionReason.RequestLineTooLong: 66case RequestRejectionReason.HeadersExceedMaxTotalSize: 69case RequestRejectionReason.TooManyHeaders: 72case RequestRejectionReason.RequestHeadersTimeout: 75case RequestRejectionReason.RequestBodyTimeout: 78case RequestRejectionReason.OptionsMethodRequired: 81case RequestRejectionReason.ConnectMethodRequired: 84case RequestRejectionReason.MissingHostHeader: 87case RequestRejectionReason.MultipleHostHeaders: 90case RequestRejectionReason.InvalidHostHeader: 93case RequestRejectionReason.UnrecognizedHTTPVersion: 96case RequestRejectionReason.InvalidRequestHeader: 108internal static void Throw(RequestRejectionReason reason, string detail) 114internal static void Throw(RequestRejectionReason reason, StringValues detail) 121internal static BadHttpRequestException GetException(RequestRejectionReason reason, string detail) 126case RequestRejectionReason.TlsOverHttpError: 129case RequestRejectionReason.InvalidRequestLine: 132case RequestRejectionReason.InvalidRequestTarget: 135case RequestRejectionReason.InvalidRequestHeader: 138case RequestRejectionReason.InvalidContentLength: 141case RequestRejectionReason.UnrecognizedHTTPVersion: 144case RequestRejectionReason.FinalTransferCodingNotChunked: 147case RequestRejectionReason.LengthRequiredHttp10: 150case RequestRejectionReason.InvalidHostHeader: 153case RequestRejectionReason.RequestBodyTooLarge:
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (18)
Http1\Http1ConnectionTests.cs (1)
59Assert.Equal(RequestRejectionReason.MalformedRequestInvalidHeaders, exception.Reason);
HttpParserTests.cs (4)
593Assert.Equal(RequestRejectionReason.TlsOverHttpError, badHttpRequestException.Reason); 822Assert.Equal(RequestRejectionReason.UnrecognizedHTTPVersion, exception.Reason); 873Assert.Equal(RequestRejectionReason.UnrecognizedHTTPVersion, result.ErrorReason); 937Assert.Equal(RequestRejectionReason.InvalidRequestHeader, result.ErrorReason);
MessageBodyTests.cs (13)
781ex.Reason == RequestRejectionReason.RequestBodyTimeout); 1227Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex0.Reason); 1228Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex1.Reason); 1229Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex2.Reason); 1230Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex3.Reason); 1260Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex0.Reason); 1261Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex1.Reason); 1262Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex2.Reason); 1263Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex3.Reason); 1287Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex0.Reason); 1288Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex1.Reason); 1289Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex2.Reason); 1290Assert.Equal(RequestRejectionReason.UnexpectedEndOfRequestContent, ex3.Reason);