Home / Class/ HttpServerResponseEncoder Class — netty Architecture

HttpServerResponseEncoder Class — netty Architecture

Architecture documentation for the HttpServerResponseEncoder class in HttpServerCodec.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  38759b78_d695_8e8a_0eaa_e5372bbbf0ff["HttpServerResponseEncoder"]
  9ed88c87_197e_6fb8_dd21_8f9a0fe69fa7["HttpServerCodec.java"]
  38759b78_d695_8e8a_0eaa_e5372bbbf0ff -->|defined in| 9ed88c87_197e_6fb8_dd21_8f9a0fe69fa7
  20b7a41c_c7d9_e298_8199_74200328a259["sanitizeHeadersBeforeEncode()"]
  38759b78_d695_8e8a_0eaa_e5372bbbf0ff -->|method| 20b7a41c_c7d9_e298_8199_74200328a259
  ff107302_ba21_4a79_bc87_f096631c321e["isContentAlwaysEmpty()"]
  38759b78_d695_8e8a_0eaa_e5372bbbf0ff -->|method| ff107302_ba21_4a79_bc87_f096631c321e

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/HttpServerCodec.java lines 178–200

    private final class HttpServerResponseEncoder extends HttpResponseEncoder {

        private HttpMethod method;

        @Override
        protected void sanitizeHeadersBeforeEncode(HttpResponse msg, boolean isAlwaysEmpty) {
            if (!isAlwaysEmpty && HttpMethod.CONNECT.equals(method)
                    && msg.status().codeClass() == HttpStatusClass.SUCCESS) {
                // Stripping Transfer-Encoding:
                // See https://tools.ietf.org/html/rfc7230#section-3.3.1
                msg.headers().remove(HttpHeaderNames.TRANSFER_ENCODING);
                return;
            }

            super.sanitizeHeadersBeforeEncode(msg, isAlwaysEmpty);
        }

        @Override
        protected boolean isContentAlwaysEmpty(@SuppressWarnings("unused") HttpResponse msg) {
            method = queue.poll();
            return HttpMethod.HEAD.equals(method) || super.isContentAlwaysEmpty(msg);
        }
    }

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free