Home / Function/ upgradeFail() — netty Function Reference

upgradeFail() — netty Function Reference

Architecture documentation for the upgradeFail() function in HttpServerUpgradeHandlerTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  e2819c86_e2aa_8b96_1eb8_a383fa267d8b["upgradeFail()"]
  b1c607f7_af7c_9e8d_7626_d168a967f7a0["HttpServerUpgradeHandlerTest"]
  e2819c86_e2aa_8b96_1eb8_a383fa267d8b -->|defined in| b1c607f7_af7c_9e8d_7626_d168a967f7a0
  style e2819c86_e2aa_8b96_1eb8_a383fa267d8b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/HttpServerUpgradeHandlerTest.java lines 190–233

    @ParameterizedTest
    @ValueSource(booleans = { true, false })
    public void upgradeFail(boolean removeAfterFirst) {
        final HttpServerCodec httpServerCodec = new HttpServerCodec();
        final UpgradeCodecFactory factory = new UpgradeCodecFactory() {
            @Override
            public UpgradeCodec newUpgradeCodec(CharSequence protocol) {
                return new TestUpgradeCodec();
            }
        };

        HttpServerUpgradeHandler upgradeHandler = new HttpServerUpgradeHandler(httpServerCodec, factory, 0,
                DefaultHttpHeadersFactory.headersFactory(), DefaultHttpHeadersFactory.trailersFactory(),
                removeAfterFirst);

        EmbeddedChannel channel = new EmbeddedChannel(httpServerCodec, upgradeHandler);

        // Build a h2c upgrade request, but without connection header.
        String upgradeString = "GET / HTTP/1.1\r\n" +
                               "Host: example.com\r\n" +
                               "Upgrade: h2c\r\n\r\n";
        ByteBuf upgrade = Unpooled.copiedBuffer(upgradeString, CharsetUtil.US_ASCII);

        assertTrue(channel.writeInbound(upgrade));
        assertNotNull(channel.pipeline().get(HttpServerCodec.class));
        if (removeAfterFirst) {
            assertNull(channel.pipeline().get(HttpServerUpgradeHandler.class)); // Should be removed.
        } else {
            assertNotNull(channel.pipeline().get(HttpServerUpgradeHandler.class)); // Should not be removed.
        }
        assertNull(channel.pipeline().get("marker"));

        HttpRequest req = channel.readInbound();
        assertEquals(HttpVersion.HTTP_1_1, req.protocolVersion());
        assertTrue(req.headers().contains(HttpHeaderNames.UPGRADE, "h2c", false));
        assertFalse(req.headers().contains(HttpHeaderNames.CONNECTION));
        ReferenceCountUtil.release(req);
        assertNull(channel.readInbound());

        // No response should be written because we're just passing through.
        channel.flushOutbound();
        assertNull(channel.readOutbound());
        assertFalse(channel.finishAndReleaseAll());
    }

Domain

Subdomains

Frequently Asked Questions

What does upgradeFail() do?
upgradeFail() is a function in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpServerUpgradeHandlerTest.java.
Where is upgradeFail() defined?
upgradeFail() is defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpServerUpgradeHandlerTest.java at line 190.

Analyze Your Own Codebase

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

Try Supermodel Free