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);
}
Source
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