Skip to content

Commit 20f294d

Browse files
committed
upgrade netty and add the new netty http codec options
1 parent c959fa0 commit 20f294d

File tree

6 files changed

+321
-259
lines changed

6 files changed

+321
-259
lines changed

client/src/main/java/org/asynchttpclient/AsyncHttpClientConfig.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,12 @@ public interface AsyncHttpClientConfig {
277277

278278
int getHttpClientCodecInitialBufferSize();
279279

280+
boolean httpClientCodecParseHttpAfterConnectRequest();
281+
282+
boolean httpClientCodecAllowDuplicateContentLengths();
283+
284+
boolean httpClientCodecAllowPartialChunks();
285+
280286
boolean isDisableZeroCopy();
281287

282288
int getHandshakeTimeout();

client/src/main/java/org/asynchttpclient/DefaultAsyncHttpClientConfig.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ public class DefaultAsyncHttpClientConfig implements AsyncHttpClientConfig {
117117
private final int httpClientCodecMaxHeaderSize;
118118
private final int httpClientCodecMaxChunkSize;
119119
private final int httpClientCodecInitialBufferSize;
120+
private final boolean httpClientCodecParseHttpAfterConnectRequest;
121+
private final boolean httpClientCodecAllowDuplicateContentLengths;
122+
private final boolean httpClientCodecAllowPartialChunks;
120123
private final int chunkedFileChunkSize;
121124
private final Map<ChannelOption<Object>, Object> channelOptions;
122125
private final EventLoopGroup eventLoopGroup;
@@ -209,6 +212,9 @@ private DefaultAsyncHttpClientConfig(// http
209212
int httpClientCodecMaxHeaderSize,
210213
int httpClientCodecMaxChunkSize,
211214
int httpClientCodecInitialBufferSize,
215+
boolean httpClientCodecParseHttpAfterConnectRequest,
216+
boolean httpClientCodecAllowDuplicateContentLengths,
217+
boolean httpClientCodecAllowPartialChunks,
212218
int chunkedFileChunkSize,
213219
int webSocketMaxBufferSize,
214220
int webSocketMaxFrameSize,
@@ -301,6 +307,9 @@ private DefaultAsyncHttpClientConfig(// http
301307
this.httpClientCodecMaxHeaderSize = httpClientCodecMaxHeaderSize;
302308
this.httpClientCodecMaxChunkSize = httpClientCodecMaxChunkSize;
303309
this.httpClientCodecInitialBufferSize = httpClientCodecInitialBufferSize;
310+
this.httpClientCodecParseHttpAfterConnectRequest = httpClientCodecParseHttpAfterConnectRequest;
311+
this.httpClientCodecAllowDuplicateContentLengths = httpClientCodecAllowDuplicateContentLengths;
312+
this.httpClientCodecAllowPartialChunks = httpClientCodecAllowPartialChunks;
304313
this.chunkedFileChunkSize = chunkedFileChunkSize;
305314
this.channelOptions = channelOptions;
306315
this.eventLoopGroup = eventLoopGroup;
@@ -623,6 +632,15 @@ public int getHttpClientCodecInitialBufferSize() {
623632
return httpClientCodecInitialBufferSize;
624633
}
625634

635+
@Override
636+
public boolean setHttpClientCodecParseHttpAfterConnectRequest() { return httpClientCodecParseHttpAfterConnectRequest}
637+
638+
@Override
639+
public boolean setHttpClientCodecAllowDuplicateContentLengths() { return httpClientCodecAllowDuplicateContentLengths}
640+
641+
@Override
642+
public boolean setHttpClientCodecAllowPartialChunks() { return httpClientCodecAllowPartialChunks}
643+
626644
@Override
627645
public int getChunkedFileChunkSize() {
628646
return chunkedFileChunkSize;
@@ -770,6 +788,9 @@ public static class Builder {
770788
private int httpClientCodecMaxHeaderSize = defaultHttpClientCodecMaxHeaderSize();
771789
private int httpClientCodecMaxChunkSize = defaultHttpClientCodecMaxChunkSize();
772790
private int httpClientCodecInitialBufferSize = defaultHttpClientCodecInitialBufferSize();
791+
private boolean httpClientCodecParseHttpAfterConnectRequest = defaultHttpClientCodecParseHttpAfterConnectRequest();
792+
private boolean httpClientCodecAllowDuplicateContentLengths = defaultHttpClientCodecAllowDuplicateContentLengths();
793+
private boolean httpClientCodecAllowPartialChunks = defaultHttpClientCodecAllowPartialChunks();
773794
private int chunkedFileChunkSize = defaultChunkedFileChunkSize();
774795
private boolean useNativeTransport = defaultUseNativeTransport();
775796
private ByteBufAllocator allocator;
@@ -1217,6 +1238,19 @@ public Builder setHttpClientCodecInitialBufferSize(int httpClientCodecInitialBuf
12171238
return this;
12181239
}
12191240

1241+
public Builder setHttpClientCodecParseHttpAfterConnectRequest(boolean httpClientCodecParseHttpAfterConnectRequest) {
1242+
this.httpClientCodecParseHttpAfterConnectRequest = httpClientCodecParseHttpAfterConnectRequest;
1243+
return this;
1244+
}
1245+
public Builder setHttpClientCodecAllowDuplicateContentLength(boolean httpClientCodecAllowDuplicateContentLengths) {
1246+
this.httpClientCodecAllowDuplicateContentLengths = httpClientCodecAllowDuplicateContentLengths;
1247+
return this;
1248+
}
1249+
public Builder setHttpClientCodecAllowPartialChunk(boolean httpClientCodecAllowPartialChunks) {
1250+
this.httpClientCodecAllowPartialChunks = httpClientCodecAllowPartialChunks;
1251+
return this;
1252+
}
1253+
12201254
public Builder setChunkedFileChunkSize(int chunkedFileChunkSize) {
12211255
this.chunkedFileChunkSize = chunkedFileChunkSize;
12221256
return this;

0 commit comments

Comments
 (0)