Index: sdk/lib/io/websocket.dart |
diff --git a/sdk/lib/io/websocket.dart b/sdk/lib/io/websocket.dart |
index edb5b6d1ba00e6453740ce5e73d6cf77e725acf0..183714fedcce843c68425af99c0eb4bda4922254 100644 |
--- a/sdk/lib/io/websocket.dart |
+++ b/sdk/lib/io/websocket.dart |
@@ -116,7 +116,14 @@ class CompressionOptions { |
info = "; client_max_window_bits=$size"; |
} else { |
// Client request. Specify default |
- info = "; client_max_window_bits"; |
+ if (clientMaxWindowBits == null) { |
+ info = "; client_max_window_bits"; |
+ } else { |
+ info = "; client_max_window_bits=$clientMaxWindowBits"; |
+ } |
+ if (serverMaxWindowBits != null) { |
+ info += "; server_max_window_bits=$serverMaxWindowBits"; |
+ } |
} |
return info; |
@@ -139,14 +146,14 @@ class CompressionOptions { |
info.headerValue = _WebSocketImpl.PER_MESSAGE_DEFLATE; |
if (clientNoContextTakeover && |
- (requested != null && |
- requested.parameters.containsKey(_clientNoContextTakeover))) { |
+ (requested == null || (requested != null && |
+ requested.parameters.containsKey(_clientNoContextTakeover)))) { |
info.headerValue += "; client_no_context_takeover"; |
} |
if (serverNoContextTakeover && |
- (requested != null && |
- requested.parameters.containsKey(_serverNoContextTakeover))) { |
+ (requested == null || (requested != null && |
+ requested.parameters.containsKey(_serverNoContextTakeover)))) { |
info.headerValue += "; server_no_context_takeover"; |
} |