Home / Class/ HttpResponseEncoderTest Class — netty Architecture

HttpResponseEncoderTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  9235a1ad_cba8_50c2_25b1_57ce61f5b623["HttpResponseEncoderTest"]
  f994e4db_3182_412f_aa89_5c66fa803cdb["HttpResponseEncoderTest.java"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|defined in| f994e4db_3182_412f_aa89_5c66fa803cdb
  278ef5e6_36ab_2308_7999_6663d02c4c1d["testLargeFileRegionChunked()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 278ef5e6_36ab_2308_7999_6663d02c4c1d
  845f71dd_8edf_d3a5_e2f9_fe65c4c4a748["testEmptyBufferBypass()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 845f71dd_8edf_d3a5_e2f9_fe65c4c4a748
  4c92d5b0_1159_b618_f293_76633ba7e1ab["testEmptyContentChunked()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 4c92d5b0_1159_b618_f293_76633ba7e1ab
  2f741aa2_809f_b63a_4948_98ebf00a132d["testEmptyContentNotChunked()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 2f741aa2_809f_b63a_4948_98ebf00a132d
  456aa908_1ae2_4247_eb3b_d9c766b9d30b["testEmptyContent()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 456aa908_1ae2_4247_eb3b_d9c766b9d30b
  f2e55e81_25b2_463e_4fb2_174a47fa9254["testStatusNoContent()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| f2e55e81_25b2_463e_4fb2_174a47fa9254
  808088f5_ae15_c07c_a6af_14f6c9aef0b0["testStatusNoContentContentLength()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 808088f5_ae15_c07c_a6af_14f6c9aef0b0
  812c6442_fe95_489f_a3b3_09b6cf8f5962["testStatusNoContentTransferEncoding()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 812c6442_fe95_489f_a3b3_09b6cf8f5962
  33f69b7d_a35a_6149_b2c8_f3d22acc168a["testStatusNotModified()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 33f69b7d_a35a_6149_b2c8_f3d22acc168a
  a671365d_91e0_59b1_823e_de5376407cc4["testStatusNotModifiedContentLength()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| a671365d_91e0_59b1_823e_de5376407cc4
  9d5cbe2b_4834_8e67_e7bd_c630c0912add["testStatusNotModifiedTransferEncoding()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 9d5cbe2b_4834_8e67_e7bd_c630c0912add
  e18c4a0f_46dd_e3d0_774c_8b2ea5b25f34["testStatusInformational()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| e18c4a0f_46dd_e3d0_774c_8b2ea5b25f34
  961f77fb_5760_37a9_6f8e_ed08f8209e08["testStatusInformationalContentLength()"]
  9235a1ad_cba8_50c2_25b1_57ce61f5b623 -->|method| 961f77fb_5760_37a9_6f8e_ed08f8209e08

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/HttpResponseEncoderTest.java lines 33–402

public class HttpResponseEncoderTest {
    private static final long INTEGER_OVERFLOW = (long) Integer.MAX_VALUE + 1;
    private static final FileRegion FILE_REGION = new DummyLongFileRegion();

    @Test
    public void testLargeFileRegionChunked() throws Exception {
        EmbeddedChannel channel = new EmbeddedChannel(new HttpResponseEncoder());
        HttpResponse response = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK);
        response.headers().set(HttpHeaderNames.TRANSFER_ENCODING, HttpHeaderValues.CHUNKED);
        assertTrue(channel.writeOutbound(response));

        ByteBuf buffer = channel.readOutbound();

        assertEquals("HTTP/1.1 200 OK\r\n" + HttpHeaderNames.TRANSFER_ENCODING + ": " +
                HttpHeaderValues.CHUNKED + "\r\n\r\n", buffer.toString(CharsetUtil.US_ASCII));
        buffer.release();
        assertTrue(channel.writeOutbound(FILE_REGION));
        buffer = channel.readOutbound();
        assertEquals("80000000\r\n", buffer.toString(CharsetUtil.US_ASCII));
        buffer.release();

        FileRegion region = channel.readOutbound();
        assertSame(FILE_REGION, region);
        region.release();
        buffer = channel.readOutbound();
        assertEquals("\r\n", buffer.toString(CharsetUtil.US_ASCII));
        buffer.release();

        assertTrue(channel.writeOutbound(LastHttpContent.EMPTY_LAST_CONTENT));
        buffer = channel.readOutbound();
        assertEquals("0\r\n\r\n", buffer.toString(CharsetUtil.US_ASCII));
        buffer.release();

        assertFalse(channel.finish());
    }

    private static class DummyLongFileRegion implements FileRegion {

        @Override
        public long position() {
            return 0;
        }

        @Override
        public long transfered() {
            return 0;
        }

        @Override
        public long transferred() {
            return 0;
        }

        @Override
        public long count() {
            return INTEGER_OVERFLOW;
        }

        @Override
        public long transferTo(WritableByteChannel target, long position) throws IOException {
            throw new UnsupportedOperationException();
        }

        @Override
        public FileRegion touch(Object hint) {
            return this;
        }

        @Override
        public FileRegion touch() {
            return this;
        }

        @Override
        public FileRegion retain() {
            return this;
        }

        @Override
        public FileRegion retain(int increment) {
            return this;

Frequently Asked Questions

What is the HttpResponseEncoderTest class?
HttpResponseEncoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpResponseEncoderTest.java.
Where is HttpResponseEncoderTest defined?
HttpResponseEncoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpResponseEncoderTest.java at line 33.

Analyze Your Own Codebase

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

Try Supermodel Free