Home / Class/ WebSocketClientHandshakerTest Class — netty Architecture

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");
            }
        }
    }

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