Skip to content

Commit 8e02a3a

Browse files
author
Stephane Landelle
committed
Introduce a config parameter for websocket max frame size, close AsyncHttpClient#675
1 parent 378805c commit 8e02a3a

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

providers/netty/src/main/java/org/asynchttpclient/providers/netty/NettyAsyncHttpProviderConfig.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ public NettyWebSocket newNettyWebSocket(Channel channel, NettyAsyncHttpProviderC
166166

167167
private int webSocketMaxBufferSize = 128000000;
168168

169+
private int webSocketMaxFrameSize = 10 * 1024;
170+
169171
public EventLoopGroup getEventLoopGroup() {
170172
return eventLoopGroup;
171173
}
@@ -301,4 +303,11 @@ public int getWebSocketMaxBufferSize() {
301303
public void setWebSocketMaxBufferSize(int webSocketMaxBufferSize) {
302304
this.webSocketMaxBufferSize = webSocketMaxBufferSize;
303305
}
306+
307+
public int getWebSocketMaxFrameSize() {
308+
return webSocketMaxFrameSize;
309+
}
310+
public void setWebSocketMaxFrameSize(int webSocketMaxFrameSize) {
311+
this.webSocketMaxFrameSize = webSocketMaxFrameSize;
312+
}
304313
}

providers/netty/src/main/java/org/asynchttpclient/providers/netty/channel/ChannelManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -422,8 +422,8 @@ public Bootstrap getBootstrap(UriComponents uri, boolean useProxy, boolean useSS
422422
public void upgradePipelineForWebSockets(ChannelPipeline pipeline) {
423423
pipeline.addAfter(HTTP_HANDLER, WS_ENCODER_HANDLER, new WebSocket08FrameEncoder(true));
424424
pipeline.remove(HTTP_HANDLER);
425-
pipeline.addBefore(WS_PROCESSOR, WS_DECODER_HANDLER, new WebSocket08FrameDecoder(false, false, 10 * 1024));
426-
pipeline.addAfter(WS_DECODER_HANDLER, WS_FRAME_AGGREGATOR, new WebSocketFrameAggregator(10 * 1024));
425+
pipeline.addBefore(WS_PROCESSOR, WS_DECODER_HANDLER, new WebSocket08FrameDecoder(false, false, nettyConfig.getWebSocketMaxFrameSize()));
426+
pipeline.addAfter(WS_DECODER_HANDLER, WS_FRAME_AGGREGATOR, new WebSocketFrameAggregator(nettyConfig.getWebSocketMaxBufferSize()));
427427
}
428428

429429
public final Callback newDrainCallback(final NettyResponseFuture<?> future, final Channel channel, final boolean keepAlive, final String poolKey) {

0 commit comments

Comments
 (0)