Encoder Class — netty Architecture
Architecture documentation for the Encoder class in HttpClientCodec.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD be2ad3c4_e2cf_11ed_a380_b610e85eded0["Encoder"] deb34d0e_cce7_d0ba_857f_8bfb8dcec181["HttpClientCodec.java"] be2ad3c4_e2cf_11ed_a380_b610e85eded0 -->|defined in| deb34d0e_cce7_d0ba_857f_8bfb8dcec181 8eeb8b8d_41b9_787d_b7c4_3e90425804e4["encode()"] be2ad3c4_e2cf_11ed_a380_b610e85eded0 -->|method| 8eeb8b8d_41b9_787d_b7c4_3e90425804e4
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/HttpClientCodec.java lines 272–300
private final class Encoder extends HttpRequestEncoder {
boolean upgraded;
@Override
protected void encode(
ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception {
if (upgraded) {
// HttpObjectEncoder overrides .write and does not release msg, so we don't need to retain it here
out.add(msg);
return;
}
if (msg instanceof HttpRequest) {
queue.offer(((HttpRequest) msg).method());
}
super.encode(ctx, msg, out);
if (failOnMissingResponse && !done) {
// check if the request is chunked if so do not increment
if (msg instanceof LastHttpContent) {
// increment as its the last chunk
requestResponseCounter.incrementAndGet();
}
}
}
}
Source
Frequently Asked Questions
What is the Encoder class?
Encoder is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/HttpClientCodec.java.
Where is Encoder defined?
Encoder is defined in codec-http/src/main/java/io/netty/handler/codec/http/HttpClientCodec.java at line 272.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free