Skip to content

Commit 1fd84a9

Browse files
committed
Ensure compatibility with servers not supporting server_no_context_takeover
1 parent 8359b78 commit 1fd84a9

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/main/java/org/java_websocket/extensions/permessage_deflate/PerMessageDeflateExtension.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,12 @@ public boolean acceptProvidedExtensionAsClient(String inputExtension) {
324324
Map<String, String> headers = extensionData.getExtensionParameters();
325325
if (headers.containsKey(SERVER_NO_CONTEXT_TAKEOVER)) {
326326
serverNoContextTakeover = true;
327+
} else {
328+
// If the server does not return server_no_context_takeover, the client must not reset the
329+
// decompressor (inflater) because that would break communication. Note that in contrast,
330+
// the client can reset the compressor (deflater) even if the server does not reset the
331+
// decompressor (inflater), so this is not required for client_no_context_takeover below.
332+
serverNoContextTakeover = false;
327333
}
328334
if (headers.containsKey(CLIENT_NO_CONTEXT_TAKEOVER)) {
329335
clientNoContextTakeover = true;

0 commit comments

Comments
 (0)