Home / Function/ testDetectProtocol() — netty Function Reference

testDetectProtocol() — netty Function Reference

Architecture documentation for the testDetectProtocol() function in HAProxyMessageDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  08098c20_b66a_275c_ef6d_3022f6aaf46b["testDetectProtocol()"]
  88909aff_3546_2e28_19d9_812a1929ee17["HAProxyMessageDecoderTest"]
  08098c20_b66a_275c_ef6d_3022f6aaf46b -->|defined in| 88909aff_3546_2e28_19d9_812a1929ee17
  style 08098c20_b66a_275c_ef6d_3022f6aaf46b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-haproxy/src/test/java/io/netty/handler/codec/haproxy/HAProxyMessageDecoderTest.java lines 1152–1197

    @Test
    public void testDetectProtocol() {
        final ByteBuf validHeaderV1 = copiedBuffer("PROXY TCP4 192.168.0.1 192.168.0.11 56324 443\r\n",
                                                   CharsetUtil.US_ASCII);
        ProtocolDetectionResult<HAProxyProtocolVersion> result = HAProxyMessageDecoder.detectProtocol(validHeaderV1);
        assertEquals(ProtocolDetectionState.DETECTED, result.state());
        assertEquals(HAProxyProtocolVersion.V1, result.detectedProtocol());
        validHeaderV1.release();

        final ByteBuf invalidHeader = copiedBuffer("Invalid header", CharsetUtil.US_ASCII);
        result = HAProxyMessageDecoder.detectProtocol(invalidHeader);
        assertEquals(ProtocolDetectionState.INVALID, result.state());
        assertNull(result.detectedProtocol());
        invalidHeader.release();

        final ByteBuf validHeaderV2 = buffer();
        validHeaderV2.writeByte(0x0D);
        validHeaderV2.writeByte(0x0A);
        validHeaderV2.writeByte(0x0D);
        validHeaderV2.writeByte(0x0A);
        validHeaderV2.writeByte(0x00);
        validHeaderV2.writeByte(0x0D);
        validHeaderV2.writeByte(0x0A);
        validHeaderV2.writeByte(0x51);
        validHeaderV2.writeByte(0x55);
        validHeaderV2.writeByte(0x49);
        validHeaderV2.writeByte(0x54);
        validHeaderV2.writeByte(0x0A);
        result = HAProxyMessageDecoder.detectProtocol(validHeaderV2);
        assertEquals(ProtocolDetectionState.DETECTED, result.state());
        assertEquals(HAProxyProtocolVersion.V2, result.detectedProtocol());
        validHeaderV2.release();

        final ByteBuf incompleteHeader = buffer();
        incompleteHeader.writeByte(0x0D);
        incompleteHeader.writeByte(0x0A);
        incompleteHeader.writeByte(0x0D);
        incompleteHeader.writeByte(0x0A);
        incompleteHeader.writeByte(0x00);
        incompleteHeader.writeByte(0x0D);
        incompleteHeader.writeByte(0x0A);
        result = HAProxyMessageDecoder.detectProtocol(incompleteHeader);
        assertEquals(ProtocolDetectionState.NEEDS_MORE_DATA, result.state());
        assertNull(result.detectedProtocol());
        incompleteHeader.release();
    }

Domain

Subdomains

Frequently Asked Questions

What does testDetectProtocol() do?
testDetectProtocol() is a function in the netty codebase, defined in codec-haproxy/src/test/java/io/netty/handler/codec/haproxy/HAProxyMessageDecoderTest.java.
Where is testDetectProtocol() defined?
testDetectProtocol() is defined in codec-haproxy/src/test/java/io/netty/handler/codec/haproxy/HAProxyMessageDecoderTest.java at line 1152.

Analyze Your Own Codebase

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

Try Supermodel Free