1818
1919package io .undertow .server .protocol .http ;
2020
21- import java .io .IOException ;
22-
2321import io .undertow .UndertowLogger ;
24- import io .undertow .UndertowMessages ;
2522import io .undertow .UndertowOptions ;
2623import io .undertow .conduits .ChunkedStreamSinkConduit ;
2724import io .undertow .conduits .ChunkedStreamSourceConduit ;
@@ -64,7 +61,7 @@ class HttpTransferEncoding {
6461 private HttpTransferEncoding () {
6562 }
6663
67- public static void setupRequest (final HttpServerExchange exchange ) throws IOException {
64+ public static void setupRequest (final HttpServerExchange exchange ) {
6865 final HeaderMap requestHeaders = exchange .getRequestHeaders ();
6966 final String connectionHeader = requestHeaders .getFirst (Headers .CONNECTION );
7067 final String transferEncodingHeader = requestHeaders .getLast (Headers .TRANSFER_ENCODING );
@@ -106,7 +103,7 @@ public static void setupRequest(final HttpServerExchange exchange) throws IOExce
106103
107104 }
108105
109- private static boolean handleRequestEncoding (final HttpServerExchange exchange , String transferEncodingHeader , String contentLengthHeader , HttpServerConnection connection , PipeliningBufferingStreamSinkConduit pipeliningBuffer , boolean persistentConnection ) throws IOException {
106+ private static boolean handleRequestEncoding (final HttpServerExchange exchange , String transferEncodingHeader , String contentLengthHeader , HttpServerConnection connection , PipeliningBufferingStreamSinkConduit pipeliningBuffer , boolean persistentConnection ) {
110107
111108 HttpString transferEncoding = Headers .IDENTITY ;
112109 if (transferEncodingHeader != null ) {
@@ -123,15 +120,9 @@ private static boolean handleRequestEncoding(final HttpServerExchange exchange,
123120 // no content - immediately start the next request, returning an empty stream for this one
124121 Connectors .terminateRequest (exchange );
125122 } else {
126- if (exchange .getMaxEntitySize () > 0 && exchange .getMaxEntitySize () < contentLength && exchange .isResponseChannelAvailable ()) {
127- persistentConnection = false ;
128- Connectors .terminateRequest (exchange );
129- throw UndertowMessages .MESSAGES .requestEntityWasTooLarge (exchange .getMaxEntitySize ());
130- } else {
131- // fixed-length content - add a wrapper for a fixed-length stream
132- ConduitStreamSourceChannel sourceChannel = ((HttpServerConnection ) exchange .getConnection ()).getChannel ().getSourceChannel ();
133- sourceChannel .setConduit (fixedLengthStreamSourceConduitWrapper (contentLength , sourceChannel .getConduit (), exchange ));
134- }
123+ // fixed-length content - add a wrapper for a fixed-length stream
124+ ConduitStreamSourceChannel sourceChannel = ((HttpServerConnection ) exchange .getConnection ()).getChannel ().getSourceChannel ();
125+ sourceChannel .setConduit (fixedLengthStreamSourceConduitWrapper (contentLength , sourceChannel .getConduit (), exchange ));
135126 }
136127 } else if (transferEncodingHeader != null ) {
137128 //identity transfer encoding
0 commit comments