Home / Function/ testTotalHeaderLimit() — netty Function Reference

testTotalHeaderLimit() — netty Function Reference

Architecture documentation for the testTotalHeaderLimit() function in HttpRequestDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  94b3c82d_a222_50e7_b671_3642553dfc98["testTotalHeaderLimit()"]
  514322d5_436a_d1ac_6240_1f9cf42934a4["HttpRequestDecoderTest"]
  94b3c82d_a222_50e7_b671_3642553dfc98 -->|defined in| 514322d5_436a_d1ac_6240_1f9cf42934a4
  style 94b3c82d_a222_50e7_b671_3642553dfc98 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/HttpRequestDecoderTest.java lines 419–444

    @Test
    void testTotalHeaderLimit() throws Exception {
        String requestStr = "GET /some/path HTTP/1.1\r\n" +
                "Host: a.b\r\n" + // 9 content bytes
                "a1: b\r\n" +     // + 5 = 14 bytes,
                "a2: b\r\n\r\n";  // + 5 = 19 bytes

        // Decoding with a max header size of 18 bytes must fail:
        EmbeddedChannel channel = new EmbeddedChannel(new HttpRequestDecoder(1024, 18, 1024));
        assertTrue(channel.writeInbound(Unpooled.copiedBuffer(requestStr, CharsetUtil.US_ASCII)));
        HttpRequest request = channel.readInbound();
        assertTrue(request.decoderResult().isFailure());
        assertInstanceOf(TooLongHttpHeaderException.class, request.decoderResult().cause());
        assertFalse(channel.finish());

        // Decoding with a max header size of 19 must pass:
        channel = new EmbeddedChannel(new HttpRequestDecoder(1024, 19, 1024));
        assertTrue(channel.writeInbound(Unpooled.copiedBuffer(requestStr, CharsetUtil.US_ASCII)));
        request = channel.readInbound();
        assertTrue(request.decoderResult().isSuccess());
        assertEquals("a.b", request.headers().get("Host"));
        assertEquals("b", request.headers().get("a1"));
        assertEquals("b", request.headers().get("a2"));
        assertEquals(LastHttpContent.EMPTY_LAST_CONTENT, channel.readInbound());
        assertFalse(channel.finish());
    }

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free