Skip to content

Commit 88b46b2

Browse files
committed
Filter Brotly from user defined Accept-Encoding, close AsyncHttpClient#1202
1 parent 0a10b40 commit 88b46b2

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

client/src/main/java/org/asynchttpclient/netty/request/NettyRequestFactory.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252

5353
public final class NettyRequestFactory {
5454

55+
public static final String BROTLY_ACCEPT_ENCODING_SUFFIX = ", br";
5556
public static final String GZIP_DEFLATE = HttpHeaders.Values.GZIP + "," + HttpHeaders.Values.DEFLATE;
5657

5758
private final AsyncHttpClientConfig config;
@@ -167,8 +168,16 @@ public NettyRequest newNettyRequest(Request request, boolean forceConnect, Proxy
167168
if (isNonEmpty(request.getCookies()))
168169
headers.set(COOKIE, CookieEncoder.encode(request.getCookies()));
169170

170-
if (config.isCompressionEnforced() && !headers.contains(ACCEPT_ENCODING))
171+
String userDefinedAcceptEncoding = headers.get(ACCEPT_ENCODING);
172+
if (userDefinedAcceptEncoding != null) {
173+
// we don't support Brotly ATM
174+
if (userDefinedAcceptEncoding.endsWith(BROTLY_ACCEPT_ENCODING_SUFFIX)) {
175+
headers.set(ACCEPT_ENCODING, userDefinedAcceptEncoding.subSequence(0, userDefinedAcceptEncoding.length() - BROTLY_ACCEPT_ENCODING_SUFFIX.length()));
176+
}
177+
178+
} else if (config.isCompressionEnforced()) {
171179
headers.set(ACCEPT_ENCODING, GZIP_DEFLATE);
180+
}
172181
}
173182

174183
if (body != null) {

0 commit comments

Comments
 (0)