Skip to content

Commit 1ba1a9f

Browse files
author
oleksiys
committed
[1.9.x] introduce Grizzly property to avoid HTTP response decompression (if a server used compression)
1 parent 619f9fc commit 1ba1a9f

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

src/main/java/com/ning/http/client/providers/grizzly/GrizzlyAsyncHttpProvider.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,15 @@
8080
import java.util.concurrent.ExecutionException;
8181
import java.util.concurrent.ExecutorService;
8282
import java.util.concurrent.TimeUnit;
83-
import org.glassfish.grizzly.http.HttpContext;
83+
import java.util.concurrent.TimeoutException;
8484

85-
import static com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProviderConfig.Property.MAX_HTTP_PACKET_HEADER_SIZE;
86-
import static com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProviderConfig.Property.TRANSPORT_CUSTOMIZER;
85+
import org.glassfish.grizzly.filterchain.FilterChainEvent;
86+
import org.glassfish.grizzly.http.HttpContext;
8787
import com.ning.http.client.providers.grizzly.events.ContinueEvent;
88+
89+
import static com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProviderConfig.Property.*;
8890
import static com.ning.http.util.AsyncHttpProviderUtils.getNonEmptyPath;
8991
import static com.ning.http.util.MiscUtils.isNonEmpty;
90-
import java.util.concurrent.TimeoutException;
91-
import org.glassfish.grizzly.filterchain.FilterChainEvent;
9292

9393
/**
9494
* A Grizzly 2.0-based implementation of {@link AsyncHttpProvider}.
@@ -337,10 +337,12 @@ public void onTimeout(Connection connection) {
337337
}
338338
}
339339

340-
eventFilter.addContentEncoding(
341-
new GZipContentEncoding(512,
342-
512,
343-
new ClientEncodingFilter()));
340+
if ((Boolean) providerConfig.getProperty(DECOMPRESS_RESPONSE)) {
341+
eventFilter.addContentEncoding(
342+
new GZipContentEncoding(512,
343+
512,
344+
new ClientEncodingFilter()));
345+
}
344346

345347
fcb.add(eventFilter);
346348
fcb.add(clientFilter);

src/main/java/com/ning/http/client/providers/grizzly/GrizzlyAsyncHttpProviderConfig.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,15 @@ public static enum Property {
6969
* invoked with the complete message. If this functionality is not desired, set
7070
* this property to false.
7171
*/
72-
BUFFER_WEBSOCKET_FRAGMENTS(Boolean.class, true)
72+
BUFFER_WEBSOCKET_FRAGMENTS(Boolean.class, true),
7373

74+
/**
75+
* <tt>true</tt> (default), if an HTTP response has to be decompressed
76+
* (if compressed by a server), or <tt>false</tt> if decompression
77+
* has to be delegated to a user.
78+
*/
79+
DECOMPRESS_RESPONSE(Boolean.class, true)
80+
7481
;
7582

7683

0 commit comments

Comments
 (0)