Home / Class/ HttpMessageUtil Class — netty Architecture

HttpMessageUtil Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e["HttpMessageUtil"]
  b4636b83_2483_128a_9bd8_59a3a4237409["HttpMessageUtil.java"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|defined in| b4636b83_2483_128a_9bd8_59a3a4237409
  8bf53662_4fbc_588c_7b3c_40de22b189b1["StringBuilder()"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|method| 8bf53662_4fbc_588c_7b3c_40de22b189b1
  ee2dfc60_a62f_399d_202a_aeafad8d7092["appendCommon()"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|method| ee2dfc60_a62f_399d_202a_aeafad8d7092
  7d550468_5c36_a2d2_096d_ee434cca5d49["appendFullCommon()"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|method| 7d550468_5c36_a2d2_096d_ee434cca5d49
  8a7525bb_0ad2_3610_a59a_ac5d07e76648["appendInitialLine()"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|method| 8a7525bb_0ad2_3610_a59a_ac5d07e76648
  e93c49f6_f882_6da9_e094_ede38572cb50["appendHeaders()"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|method| e93c49f6_f882_6da9_e094_ede38572cb50
  167becb5_828a_0bba_37d1_5bb631eb9c22["removeLastNewLine()"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|method| 167becb5_828a_0bba_37d1_5bb631eb9c22
  da4e1933_f83a_fef9_f340_d8f20a707237["HttpMessageUtil()"]
  a7701c8b_92f5_d661_eb6f_e3a87ad9ad0e -->|method| da4e1933_f83a_fef9_f340_d8f20a707237

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/HttpMessageUtil.java lines 25–113

final class HttpMessageUtil {

    static StringBuilder appendRequest(StringBuilder buf, HttpRequest req) {
        appendCommon(buf, req);
        appendInitialLine(buf, req);
        appendHeaders(buf, req.headers());
        removeLastNewLine(buf);
        return buf;
    }

    static StringBuilder appendResponse(StringBuilder buf, HttpResponse res) {
        appendCommon(buf, res);
        appendInitialLine(buf, res);
        appendHeaders(buf, res.headers());
        removeLastNewLine(buf);
        return buf;
    }

    private static void appendCommon(StringBuilder buf, HttpMessage msg) {
        buf.append(StringUtil.simpleClassName(msg));
        buf.append("(decodeResult: ");
        buf.append(msg.decoderResult());
        buf.append(", version: ");
        buf.append(msg.protocolVersion());
        buf.append(')');
        buf.append(StringUtil.NEWLINE);
    }

    static StringBuilder appendFullRequest(StringBuilder buf, FullHttpRequest req) {
        appendFullCommon(buf, req);
        appendInitialLine(buf, req);
        appendHeaders(buf, req.headers());
        appendHeaders(buf, req.trailingHeaders());
        removeLastNewLine(buf);
        return buf;
    }

    static StringBuilder appendFullResponse(StringBuilder buf, FullHttpResponse res) {
        appendFullCommon(buf, res);
        appendInitialLine(buf, res);
        appendHeaders(buf, res.headers());
        appendHeaders(buf, res.trailingHeaders());
        removeLastNewLine(buf);
        return buf;
    }

    private static void appendFullCommon(StringBuilder buf, FullHttpMessage msg) {
        buf.append(StringUtil.simpleClassName(msg));
        buf.append("(decodeResult: ");
        buf.append(msg.decoderResult());
        buf.append(", version: ");
        buf.append(msg.protocolVersion());
        buf.append(", content: ");
        buf.append(msg.content());
        buf.append(')');
        buf.append(StringUtil.NEWLINE);
    }

    private static void appendInitialLine(StringBuilder buf, HttpRequest req) {
        buf.append(req.method());
        buf.append(' ');
        buf.append(req.uri());
        buf.append(' ');
        buf.append(req.protocolVersion());
        buf.append(StringUtil.NEWLINE);
    }

    private static void appendInitialLine(StringBuilder buf, HttpResponse res) {
        buf.append(res.protocolVersion());
        buf.append(' ');
        buf.append(res.status());
        buf.append(StringUtil.NEWLINE);
    }

    private static void appendHeaders(StringBuilder buf, HttpHeaders headers) {
        for (Map.Entry<String, String> e: headers) {
            buf.append(e.getKey());
            buf.append(": ");
            buf.append(e.getValue());
            buf.append(StringUtil.NEWLINE);
        }

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free