WebSocketExtensionUtilTest Class — netty Architecture
Architecture documentation for the WebSocketExtensionUtilTest class in WebSocketExtensionUtilTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7a8e02e4_8d11_0ece_3bd2_d604f55a9a18["WebSocketExtensionUtilTest"] a6bb79a6_e76c_bad3_354e_96bf19ec2da8["WebSocketExtensionUtilTest.java"] 7a8e02e4_8d11_0ece_3bd2_d604f55a9a18 -->|defined in| a6bb79a6_e76c_bad3_354e_96bf19ec2da8 52200f5e_039a_c4a1_bcc7_0a1da3aa300a["testIsWebsocketUpgrade()"] 7a8e02e4_8d11_0ece_3bd2_d604f55a9a18 -->|method| 52200f5e_039a_c4a1_bcc7_0a1da3aa300a a21779e2_f178_b186_bb03_4c7fa76ea389["computeMergeExtensionsHeaderValueWhenNoUserDefinedHeader()"] 7a8e02e4_8d11_0ece_3bd2_d604f55a9a18 -->|method| a21779e2_f178_b186_bb03_4c7fa76ea389 14d26184_f371_e3ec_75a6_ba50fb474452["computeMergeExtensionsHeaderValueWhenNoConflictingUserDefinedHeader()"] 7a8e02e4_8d11_0ece_3bd2_d604f55a9a18 -->|method| 14d26184_f371_e3ec_75a6_ba50fb474452 f3634383_2e5f_0127_180e_d442bf6406e5["computeMergeExtensionsHeaderValueWhenConflictingUserDefinedHeader()"] 7a8e02e4_8d11_0ece_3bd2_d604f55a9a18 -->|method| f3634383_2e5f_0127_180e_d442bf6406e5
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketExtensionUtilTest.java lines 31–85
public class WebSocketExtensionUtilTest {
@Test
public void testIsWebsocketUpgrade() {
HttpHeaders headers = new DefaultHttpHeaders();
assertFalse(isWebsocketUpgrade(headers));
headers.add(HttpHeaderNames.UPGRADE, HttpHeaderValues.WEBSOCKET);
assertFalse(isWebsocketUpgrade(headers));
headers.add(HttpHeaderNames.CONNECTION, "Keep-Alive, Upgrade");
assertTrue(isWebsocketUpgrade(headers));
}
@Test
public void computeMergeExtensionsHeaderValueWhenNoUserDefinedHeader() {
List<WebSocketExtensionData> extras = extractExtensions("permessage-deflate; client_max_window_bits," +
"permessage-deflate; client_no_context_takeover; client_max_window_bits," +
"deflate-frame," +
"x-webkit-deflate-frame");
String newHeaderValue = computeMergeExtensionsHeaderValue(null, extras);
assertEquals("permessage-deflate;client_max_window_bits," +
"permessage-deflate;client_no_context_takeover;client_max_window_bits," +
"deflate-frame," +
"x-webkit-deflate-frame", newHeaderValue);
}
@Test
public void computeMergeExtensionsHeaderValueWhenNoConflictingUserDefinedHeader() {
List<WebSocketExtensionData> extras = extractExtensions("permessage-deflate; client_max_window_bits," +
"permessage-deflate; client_no_context_takeover; client_max_window_bits," +
"deflate-frame," +
"x-webkit-deflate-frame");
String newHeaderValue = computeMergeExtensionsHeaderValue("foo, bar", extras);
assertEquals("permessage-deflate;client_max_window_bits," +
"permessage-deflate;client_no_context_takeover;client_max_window_bits," +
"deflate-frame," +
"x-webkit-deflate-frame," +
"foo," +
"bar", newHeaderValue);
}
@Test
public void computeMergeExtensionsHeaderValueWhenConflictingUserDefinedHeader() {
List<WebSocketExtensionData> extras = extractExtensions("permessage-deflate; client_max_window_bits," +
"permessage-deflate; client_no_context_takeover; client_max_window_bits," +
"deflate-frame," +
"x-webkit-deflate-frame");
String newHeaderValue = computeMergeExtensionsHeaderValue("permessage-deflate; client_max_window_bits", extras);
assertEquals("permessage-deflate;client_max_window_bits," +
"permessage-deflate;client_no_context_takeover;client_max_window_bits," +
"deflate-frame," +
"x-webkit-deflate-frame", newHeaderValue);
}
}
Source
Frequently Asked Questions
What is the WebSocketExtensionUtilTest class?
WebSocketExtensionUtilTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketExtensionUtilTest.java.
Where is WebSocketExtensionUtilTest defined?
WebSocketExtensionUtilTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketExtensionUtilTest.java at line 31.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free