WebSocketClientHandshakerTest Class — netty Architecture
Architecture documentation for the WebSocketClientHandshakerTest class in WebSocketClientHandshakerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9["WebSocketClientHandshakerTest"] 3ce9773a_a914_9d97_8f4c_801bd52f1130["WebSocketClientHandshakerTest.java"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|defined in| 3ce9773a_a914_9d97_8f4c_801bd52f1130 417a6dc8_8286_0e73_22d5_307a23c01ff7["WebSocketClientHandshaker()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 417a6dc8_8286_0e73_22d5_307a23c01ff7 a2981413_e0b5_5ea5_9a3e_9276e81f1890["CharSequence()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| a2981413_e0b5_5ea5_9a3e_9276e81f1890 6d31a252_e73f_521a_9586_cfba0cbcea37["getHandshakeRequiredHeaderNames()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 6d31a252_e73f_521a_9586_cfba0cbcea37 aba9e9db_67d7_550c_b707_b1249bad4bb7["hostHeaderWs()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| aba9e9db_67d7_550c_b707_b1249bad4bb7 315c095d_3e07_6627_8582_68d555013235["hostHeaderWss()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 315c095d_3e07_6627_8582_68d555013235 38e924bc_6f49_4514_762c_57c6513e9669["hostHeaderWithoutScheme()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 38e924bc_6f49_4514_762c_57c6513e9669 02b0d55b_0d40_dba8_ce6f_dab0c5593e8a["originHeaderWs()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 02b0d55b_0d40_dba8_ce6f_dab0c5593e8a 696836b6_6e22_c3cc_decc_83733bb46595["originHeaderWss()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 696836b6_6e22_c3cc_decc_83733bb46595 d09d981f_eb3c_368e_5361_7100e5457ff4["originHeaderWithoutScheme()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| d09d981f_eb3c_368e_5361_7100e5457ff4 b4e18172_7c74_1525_059c_26812cbf4493["testSetOriginFromCustomHeaders()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| b4e18172_7c74_1525_059c_26812cbf4493 553f1de2_f9c9_da91_a6ee_0c89d27a0d59["testOriginHeaderIsAbsentWhenGeneratingDisable()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 553f1de2_f9c9_da91_a6ee_0c89d27a0d59 898c3dea_6682_b350_2c89_c7534ff732a5["testInvalidHostWhenIncorrectWebSocketURI()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 898c3dea_6682_b350_2c89_c7534ff732a5 3471ec5a_2ab4_15df_b022_ed82c4d28ef4["testInvalidOriginWhenIncorrectWebSocketURI()"] 2cb6ab9a_d30f_c725_5b7e_5ad8d513e6b9 -->|method| 3471ec5a_2ab4_15df_b022_ed82c4d28ef4
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/WebSocketClientHandshakerTest.java lines 61–517
public abstract class WebSocketClientHandshakerTest {
protected abstract WebSocketClientHandshaker newHandshaker(URI uri, String subprotocol, HttpHeaders headers,
boolean absoluteUpgradeUrl,
boolean generateOriginHeader);
protected WebSocketClientHandshaker newHandshaker(URI uri) {
return newHandshaker(uri, null, null, false, true);
}
protected abstract CharSequence getOriginHeaderName();
protected abstract CharSequence getProtocolHeaderName();
protected abstract CharSequence[] getHandshakeRequiredHeaderNames();
@Test
public void hostHeaderWs() {
for (String scheme : new String[]{"ws://", "http://"}) {
for (String host : new String[]{"localhost", "127.0.0.1", "[::1]", "Netty.io"}) {
String enter = scheme + host;
testHostHeader(enter, host);
testHostHeader(enter + '/', host);
testHostHeader(enter + ":80", host);
testHostHeader(enter + ":443", host + ":443");
testHostHeader(enter + ":9999", host + ":9999");
testHostHeader(enter + "/path", host);
testHostHeader(enter + ":80/path", host);
testHostHeader(enter + ":443/path", host + ":443");
testHostHeader(enter + ":9999/path", host + ":9999");
}
}
}
@Test
public void hostHeaderWss() {
for (String scheme : new String[]{"wss://", "https://"}) {
for (String host : new String[]{"localhost", "127.0.0.1", "[::1]", "Netty.io"}) {
String enter = scheme + host;
testHostHeader(enter, host);
testHostHeader(enter + '/', host);
testHostHeader(enter + ":80", host + ":80");
testHostHeader(enter + ":443", host);
testHostHeader(enter + ":9999", host + ":9999");
testHostHeader(enter + "/path", host);
testHostHeader(enter + ":80/path", host + ":80");
testHostHeader(enter + ":443/path", host);
testHostHeader(enter + ":9999/path", host + ":9999");
}
}
}
@Test
public void hostHeaderWithoutScheme() {
testHostHeader("//localhost/", "localhost");
testHostHeader("//localhost/path", "localhost");
testHostHeader("//localhost:80/", "localhost:80");
testHostHeader("//localhost:443/", "localhost:443");
testHostHeader("//localhost:9999/", "localhost:9999");
}
@Test
public void originHeaderWs() {
for (String scheme : new String[]{"ws://", "http://"}) {
for (String host : new String[]{"localhost", "127.0.0.1", "[::1]", "NETTY.IO"}) {
String enter = scheme + host;
String expect = "http://" + host.toLowerCase();
testOriginHeader(enter, expect);
testOriginHeader(enter + '/', expect);
testOriginHeader(enter + ":80", expect);
testOriginHeader(enter + ":443", expect + ":443");
testOriginHeader(enter + ":9999", expect + ":9999");
testOriginHeader(enter + "/path%20with%20ws", expect);
testOriginHeader(enter + ":80/path%20with%20ws", expect);
testOriginHeader(enter + ":443/path%20with%20ws", expect + ":443");
testOriginHeader(enter + ":9999/path%20with%20ws", expect + ":9999");
}
}
}
Defined In
Source
Frequently Asked Questions
What is the WebSocketClientHandshakerTest class?
WebSocketClientHandshakerTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/WebSocketClientHandshakerTest.java.
Where is WebSocketClientHandshakerTest defined?
WebSocketClientHandshakerTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/WebSocketClientHandshakerTest.java at line 61.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free