Home / Function/ validateClearTextUpgrade() — netty Function Reference

validateClearTextUpgrade() — netty Function Reference

Architecture documentation for the validateClearTextUpgrade() function in CleartextHttp2ServerUpgradeHandlerTest.java from the netty codebase.

Function java Buffer Allocators calls 1 called by 3

Entity Profile

Dependency Diagram

graph TD
  f392444a_9fec_021c_0d7d_3cb6056aa954["validateClearTextUpgrade()"]
  24405e75_fc53_b81a_62ef_04cb80649864["CleartextHttp2ServerUpgradeHandlerTest"]
  f392444a_9fec_021c_0d7d_3cb6056aa954 -->|defined in| 24405e75_fc53_b81a_62ef_04cb80649864
  0bcb6d6f_a2e2_542d_3c02_f3ea20ae5faf["upgrade()"]
  0bcb6d6f_a2e2_542d_3c02_f3ea20ae5faf -->|calls| f392444a_9fec_021c_0d7d_3cb6056aa954
  65492212_ad30_7906_f9d3_92cb250418f5["upgradeWithMultipleConnectionHeaders()"]
  65492212_ad30_7906_f9d3_92cb250418f5 -->|calls| f392444a_9fec_021c_0d7d_3cb6056aa954
  f846613a_c04f_1ec2_80cc_d7082d92ef92["requiredHeadersInSeparateConnectionHeaders()"]
  f846613a_c04f_1ec2_80cc_d7082d92ef92 -->|calls| f392444a_9fec_021c_0d7d_3cb6056aa954
  0d4ba23e_9249_2941_979a_64a6d32d3fff["setUpServerChannel()"]
  f392444a_9fec_021c_0d7d_3cb6056aa954 -->|calls| 0d4ba23e_9249_2941_979a_64a6d32d3fff
  style f392444a_9fec_021c_0d7d_3cb6056aa954 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http2/src/test/java/io/netty/handler/codec/http2/CleartextHttp2ServerUpgradeHandlerTest.java lines 253–290

    private void validateClearTextUpgrade(String upgradeString) {
        setUpServerChannel();

        ByteBuf upgrade = Unpooled.copiedBuffer(upgradeString, CharsetUtil.US_ASCII);

        assertFalse(channel.writeInbound(upgrade));

        assertEquals(1, userEvents.size());

        Object userEvent = userEvents.get(0);
        assertTrue(userEvent instanceof UpgradeEvent);
        assertEquals("h2c", ((UpgradeEvent) userEvent).protocol());
        ReferenceCountUtil.release(userEvent);

        assertEquals(100, http2ConnectionHandler.connection().local().maxActiveStreams());
        assertEquals(65535, http2ConnectionHandler.connection().local().flowController().initialWindowSize());

        assertEquals(1, http2ConnectionHandler.connection().numActiveStreams());
        assertNotNull(http2ConnectionHandler.connection().stream(1));

        Http2Stream stream = http2ConnectionHandler.connection().stream(1);
        assertEquals(State.HALF_CLOSED_REMOTE, stream.state());
        assertFalse(stream.isHeadersSent());

        String expectedHttpResponse = "HTTP/1.1 101 Switching Protocols\r\n" +
                "connection: upgrade\r\n" +
                "upgrade: h2c\r\n\r\n";
        ByteBuf responseBuffer = channel.readOutbound();
        assertEquals(expectedHttpResponse, responseBuffer.toString(CharsetUtil.UTF_8));
        responseBuffer.release();

        // Check that the preface was send (a.k.a the settings frame)
        ByteBuf settingsBuffer = channel.readOutbound();
        assertNotNull(settingsBuffer);
        settingsBuffer.release();

        assertNull(channel.readOutbound());
    }

Domain

Subdomains

Frequently Asked Questions

What does validateClearTextUpgrade() do?
validateClearTextUpgrade() is a function in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/CleartextHttp2ServerUpgradeHandlerTest.java.
Where is validateClearTextUpgrade() defined?
validateClearTextUpgrade() is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/CleartextHttp2ServerUpgradeHandlerTest.java at line 253.
What does validateClearTextUpgrade() call?
validateClearTextUpgrade() calls 1 function(s): setUpServerChannel.
What calls validateClearTextUpgrade()?
validateClearTextUpgrade() is called by 3 function(s): requiredHeadersInSeparateConnectionHeaders, upgrade, upgradeWithMultipleConnectionHeaders.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free