internal static BadHttpRequestException GetException(RequestRejectionReason reason, string detail) { BadHttpRequestException ex; switch (reason) { case RequestRejectionReason.InvalidRequestLine: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.InvalidRequestTarget: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.InvalidRequestHeader: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.InvalidContentLength: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.UnrecognizedHTTPVersion: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status505HttpVersionNotsupported, reason); break; case RequestRejectionReason.FinalTransferCodingNotChunked: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.LengthRequired: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status411LengthRequired, reason); break; case RequestRejectionReason.LengthRequiredHttp10: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.InvalidHostHeader: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; default: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason, detail), StatusCodes.Status400BadRequest, reason); break; } return(ex); }
internal static BadHttpRequestException GetException(RequestRejectionReason reason) { BadHttpRequestException ex; switch (reason) { case RequestRejectionReason.InvalidRequestHeadersNoCRLF: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.InvalidRequestLine: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.MalformedRequestInvalidHeaders: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.MultipleContentLengths: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.UnexpectedEndOfRequestContent: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.BadChunkSuffix: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.BadChunkSizeData: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.ChunkedRequestIncomplete: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.InvalidCharactersInHeaderName: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.RequestLineTooLong: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status414UriTooLong, reason); break; case RequestRejectionReason.HeadersExceedMaxTotalSize: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status431RequestHeaderFieldsTooLarge, reason); break; case RequestRejectionReason.TooManyHeaders: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status431RequestHeaderFieldsTooLarge, reason); break; case RequestRejectionReason.RequestBodyTooLarge: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status413PayloadTooLarge, reason); break; case RequestRejectionReason.RequestHeadersTimeout: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status408RequestTimeout, reason); break; case RequestRejectionReason.RequestBodyTimeout: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status408RequestTimeout, reason); break; case RequestRejectionReason.OptionsMethodRequired: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status405MethodNotAllowed, reason, HttpMethods.Options); break; case RequestRejectionReason.ConnectMethodRequired: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status405MethodNotAllowed, reason, HttpMethods.Connect); break; case RequestRejectionReason.MissingHostHeader: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.MultipleHostHeaders: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.InvalidHostHeader: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; case RequestRejectionReason.UpgradeRequestCannotHavePayload: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; default: ex = new BadHttpRequestException(GetRejectionReasonMessage(reason), StatusCodes.Status400BadRequest, reason); break; } return(ex); }