Home / Class/ HttpHeadersEncoder Class — netty Architecture

HttpHeadersEncoder Class — netty Architecture

Architecture documentation for the HttpHeadersEncoder class in HttpHeadersEncoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  7319b2bf_9ec8_f449_22c1_ffd19f829e3a["HttpHeadersEncoder"]
  8da19035_c678_2632_8af4_89711831d117["HttpHeadersEncoder.java"]
  7319b2bf_9ec8_f449_22c1_ffd19f829e3a -->|defined in| 8da19035_c678_2632_8af4_89711831d117
  2d78934e_8f08_9cda_5ebd_98297e2aee7f["HttpHeadersEncoder()"]
  7319b2bf_9ec8_f449_22c1_ffd19f829e3a -->|method| 2d78934e_8f08_9cda_5ebd_98297e2aee7f
  8f51e356_638c_7ee6_3cf7_653c8d91058f["encoderHeader()"]
  7319b2bf_9ec8_f449_22c1_ffd19f829e3a -->|method| 8f51e356_638c_7ee6_3cf7_653c8d91058f
  a4abebfb_2433_a662_f0f2_661b9412245b["writeAscii()"]
  7319b2bf_9ec8_f449_22c1_ffd19f829e3a -->|method| a4abebfb_2433_a662_f0f2_661b9412245b

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/HttpHeadersEncoder.java lines 27–57

final class HttpHeadersEncoder {
    private static final int COLON_AND_SPACE_SHORT = (COLON << 8) | SP;

    private HttpHeadersEncoder() {
    }

    static void encoderHeader(CharSequence name, CharSequence value, ByteBuf buf) {
        final int nameLen = name.length();
        final int valueLen = value.length();
        final int entryLen = nameLen + valueLen + 4;
        buf.ensureWritable(entryLen);
        int offset = buf.writerIndex();
        writeAscii(buf, offset, name);
        offset += nameLen;
        ByteBufUtil.setShortBE(buf, offset, COLON_AND_SPACE_SHORT);
        offset += 2;
        writeAscii(buf, offset, value);
        offset += valueLen;
        ByteBufUtil.setShortBE(buf, offset, CRLF_SHORT);
        offset += 2;
        buf.writerIndex(offset);
    }

    private static void writeAscii(ByteBuf buf, int offset, CharSequence value) {
        if (value instanceof AsciiString) {
            ByteBufUtil.copy((AsciiString) value, 0, buf, offset, value.length());
        } else {
            buf.setCharSequence(offset, value, CharsetUtil.US_ASCII);
        }
    }
}

Frequently Asked Questions

What is the HttpHeadersEncoder class?
HttpHeadersEncoder is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/HttpHeadersEncoder.java.
Where is HttpHeadersEncoder defined?
HttpHeadersEncoder is defined in codec-http/src/main/java/io/netty/handler/codec/http/HttpHeadersEncoder.java at line 27.

Analyze Your Own Codebase

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

Try Supermodel Free