public abstract class io.netty.handler.codec.http.HttpObjectEncoder<H extends io.netty.handler.codec.http.HttpMessage> extends io.netty.handler.codec.MessageToMessageEncoder<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.handler.codec.http.HttpObjectEncoder
super_class: io.netty.handler.codec.MessageToMessageEncoder
{
static final int CRLF_SHORT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3338
private static final int ZERO_CRLF_MEDIUM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3149066
private static final byte[] ZERO_CRLF_CRLF;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.buffer.ByteBuf CRLF_BUF;
descriptor: Lio/netty/buffer/ByteBuf;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.buffer.ByteBuf ZERO_CRLF_CRLF_BUF;
descriptor: Lio/netty/buffer/ByteBuf;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float HEADERS_WEIGHT_NEW;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.2
private static final float HEADERS_WEIGHT_HISTORICAL;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.8
private static final float TRAILERS_WEIGHT_NEW;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.2
private static final float TRAILERS_WEIGHT_HISTORICAL;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.8
private static final int ST_INIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ST_CONTENT_NON_CHUNK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int ST_CONTENT_CHUNK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int ST_CONTENT_ALWAYS_EMPTY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private float headersEncodedSizeAccumulator;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float trailersEncodedSizeAccumulator;
descriptor: F
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_5
newarray 8
dup
iconst_0
bipush 48
bastore
dup
iconst_1
bipush 13
bastore
dup
iconst_2
bipush 10
bastore
dup
iconst_3
bipush 13
bastore
dup
iconst_4
bipush 10
bastore
putstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF:[B
1: iconst_2
invokestatic io.netty.buffer.Unpooled.directBuffer:(I)Lio/netty/buffer/ByteBuf;
bipush 13
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
bipush 10
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
invokestatic io.netty.buffer.Unpooled.unreleasableBuffer:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
putstatic io.netty.handler.codec.http.HttpObjectEncoder.CRLF_BUF:Lio/netty/buffer/ByteBuf;
2: getstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF:[B
arraylength
invokestatic io.netty.buffer.Unpooled.directBuffer:(I)Lio/netty/buffer/ByteBuf;
3: getstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF:[B
invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
4: invokestatic io.netty.buffer.Unpooled.unreleasableBuffer:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
putstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF_BUF:Lio/netty/buffer/ByteBuf;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.handler.codec.MessageToMessageEncoder.<init>:()V
1: aload 0
iconst_0
putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
2: aload 0
ldc 256.0
putfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
3: aload 0
ldc 256.0
putfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
protected void encode(io.netty.channel.ChannelHandlerContext, , java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 2
instanceof io.netty.handler.codec.http.HttpMessage
ifeq 19
2: aload 0
getfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
ifeq 4
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unexpected message type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 2
checkcast io.netty.handler.codec.http.HttpMessage
astore 5
start local 5 5: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
aload 0
getfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
f2i
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 4
6: aload 0
aload 4
aload 5
invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeInitialLine:(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpMessage;)V
7: aload 0
aload 0
aload 5
invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.isContentAlwaysEmpty:(Lio/netty/handler/codec/http/HttpMessage;)Z
ifeq 8
iconst_3
goto 10
8: StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder
aload 5
invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
ifeq 9
iconst_2
goto 10
StackMap locals:
StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder
9: iconst_1
10: StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder int
putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
11: aload 0
aload 5
aload 0
getfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
iconst_3
if_icmpne 12
iconst_1
goto 13
StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder io.netty.handler.codec.http.HttpMessage
12: iconst_0
StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder io.netty.handler.codec.http.HttpMessage int
13: invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.sanitizeHeadersBeforeEncode:(Lio/netty/handler/codec/http/HttpMessage;Z)V
14: aload 0
aload 5
invokeinterface io.netty.handler.codec.http.HttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
aload 4
invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeHeaders:(Lio/netty/handler/codec/http/HttpHeaders;Lio/netty/buffer/ByteBuf;)V
15: aload 4
sipush 3338
invokestatic io.netty.buffer.ByteBufUtil.writeShortBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
16: aload 0
ldc 0.2
aload 4
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokestatic io.netty.handler.codec.http.HttpObjectEncoder.padSizeForAccumulation:(I)I
i2f
fmul
17: ldc 0.8
aload 0
getfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
fmul
fadd
18: putfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
end local 5 19: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.buffer.ByteBuf
ifeq 24
20: aload 2
checkcast io.netty.buffer.ByteBuf
astore 5
start local 5 21: aload 5
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 24
22: aload 3
aload 5
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: return
end local 5 24: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.HttpContent
ifne 25
aload 2
instanceof io.netty.buffer.ByteBuf
ifne 25
aload 2
instanceof io.netty.channel.FileRegion
ifeq 52
25: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
tableswitch { // 0 - 3
0: 26
1: 27
2: 44
3: 39
default: 48
}
26: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unexpected message type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.handler.codec.http.HttpObjectEncoder.contentLength:(Ljava/lang/Object;)J
lstore 5
start local 5 28: lload 5
lconst_0
lcmp
ifle 39
29: aload 4
ifnull 33
aload 4
invokevirtual io.netty.buffer.ByteBuf.writableBytes:()I
i2l
lload 5
lcmp
iflt 33
aload 2
instanceof io.netty.handler.codec.http.HttpContent
ifeq 33
30: aload 4
aload 2
checkcast io.netty.handler.codec.http.HttpContent
invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
31: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: goto 36
33: StackMap locals: long
StackMap stack:
aload 4
ifnull 35
34: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
35: StackMap locals:
StackMap stack:
aload 3
aload 2
invokestatic io.netty.handler.codec.http.HttpObjectEncoder.encodeAndRetain:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.LastHttpContent
ifeq 49
37: aload 0
iconst_0
putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
38: goto 49
end local 5 39: StackMap locals:
StackMap stack:
aload 4
ifnull 42
40: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
41: goto 49
42: StackMap locals:
StackMap stack:
aload 3
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
43: goto 49
44: StackMap locals:
StackMap stack:
aload 4
ifnull 46
45: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
46: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 2
invokestatic io.netty.handler.codec.http.HttpObjectEncoder.contentLength:(Ljava/lang/Object;)J
aload 3
invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeChunkedContent:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;JLjava/util/List;)V
47: goto 49
48: StackMap locals:
StackMap stack:
new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
49: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.LastHttpContent
ifeq 54
50: aload 0
iconst_0
putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
51: goto 54
StackMap locals:
StackMap stack:
52: aload 4
ifnull 54
53: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
54: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
0 55 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 55 2 msg Ljava/lang/Object;
0 55 3 out Ljava/util/List<Ljava/lang/Object;>;
1 55 4 buf Lio/netty/buffer/ByteBuf;
5 19 5 m TH;
21 24 5 potentialEmptyBuf Lio/netty/buffer/ByteBuf;
28 39 5 contentLength J
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
msg
out
protected void encodeHeaders(io.netty.handler.codec.http.HttpHeaders, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/handler/codec/http/HttpHeaders;Lio/netty/buffer/ByteBuf;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.netty.handler.codec.http.HttpHeaders.iteratorCharSequence:()Ljava/util/Iterator;
astore 3
start local 3 1: goto 4
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 3: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.CharSequence
aload 2
invokestatic io.netty.handler.codec.http.HttpHeadersEncoder.encoderHeader:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lio/netty/buffer/ByteBuf;)V
end local 4 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
0 6 1 headers Lio/netty/handler/codec/http/HttpHeaders;
0 6 2 buf Lio/netty/buffer/ByteBuf;
1 6 3 iter Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;>;
3 4 4 header Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;
MethodParameters:
Name Flags
headers
buf
private void encodeChunkedContent(io.netty.channel.ChannelHandlerContext, , long, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;JLjava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: lload 3
lconst_0
lcmp
ifle 8
1: lload 3
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
astore 6
start local 6 2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
aload 6
invokevirtual java.lang.String.length:()I
iconst_2
iadd
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 7
start local 7 3: aload 7
aload 6
getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual io.netty.buffer.ByteBuf.writeCharSequence:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)I
pop
4: aload 7
sipush 3338
invokestatic io.netty.buffer.ByteBufUtil.writeShortBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
5: aload 5
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 5
aload 2
invokestatic io.netty.handler.codec.http.HttpObjectEncoder.encodeAndRetain:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 5
getstatic io.netty.handler.codec.http.HttpObjectEncoder.CRLF_BUF:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.duplicate:()Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 8: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.LastHttpContent
ifeq 22
9: aload 2
checkcast io.netty.handler.codec.http.LastHttpContent
invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
astore 6
start local 6 10: aload 6
invokevirtual io.netty.handler.codec.http.HttpHeaders.isEmpty:()Z
ifeq 13
11: aload 5
getstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF_BUF:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.duplicate:()Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: goto 24
13: StackMap locals: io.netty.handler.codec.http.HttpHeaders
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
aload 0
getfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
f2i
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 7
start local 7 14: aload 7
ldc 3149066
invokestatic io.netty.buffer.ByteBufUtil.writeMediumBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
15: aload 0
aload 6
aload 7
invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeHeaders:(Lio/netty/handler/codec/http/HttpHeaders;Lio/netty/buffer/ByteBuf;)V
16: aload 7
sipush 3338
invokestatic io.netty.buffer.ByteBufUtil.writeShortBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
17: aload 0
ldc 0.2
aload 7
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokestatic io.netty.handler.codec.http.HttpObjectEncoder.padSizeForAccumulation:(I)I
i2f
fmul
18: ldc 0.8
aload 0
getfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
fmul
fadd
19: putfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
20: aload 5
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 21: goto 24
StackMap locals:
StackMap stack:
22: lload 3
lconst_0
lcmp
ifne 24
23: aload 5
aload 2
invokestatic io.netty.handler.codec.http.HttpObjectEncoder.encodeAndRetain:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
24: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
0 25 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 25 2 msg Ljava/lang/Object;
0 25 3 contentLength J
0 25 5 out Ljava/util/List<Ljava/lang/Object;>;
2 8 6 lengthHex Ljava/lang/String;
3 8 7 buf Lio/netty/buffer/ByteBuf;
10 21 6 headers Lio/netty/handler/codec/http/HttpHeaders;
14 21 7 buf Lio/netty/buffer/ByteBuf;
Signature: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;JLjava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
msg
contentLength
out
protected void sanitizeHeadersBeforeEncode(H, );
descriptor: (Lio/netty/handler/codec/http/HttpMessage;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
0 1 1 msg TH;
0 1 2 isAlwaysEmpty Z
Signature: (TH;Z)V
MethodParameters:
Name Flags
msg
isAlwaysEmpty
protected boolean isContentAlwaysEmpty();
descriptor: (Lio/netty/handler/codec/http/HttpMessage;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
0 1 1 msg TH;
Signature: (TH;)Z
MethodParameters:
Name Flags
msg
public boolean acceptOutboundMessage(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.handler.codec.http.HttpObject
ifne 1
aload 1
instanceof io.netty.buffer.ByteBuf
ifne 1
aload 1
instanceof io.netty.channel.FileRegion
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
0 2 1 msg Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
msg
private static java.lang.Object encodeAndRetain(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
instanceof io.netty.buffer.ByteBuf
ifeq 2
1: aload 0
checkcast io.netty.buffer.ByteBuf
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof io.netty.handler.codec.http.HttpContent
ifeq 4
3: aload 0
checkcast io.netty.handler.codec.http.HttpContent
invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof io.netty.channel.FileRegion
ifeq 6
5: aload 0
checkcast io.netty.channel.FileRegion
invokeinterface io.netty.channel.FileRegion.retain:()Lio/netty/channel/FileRegion;
areturn
6: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unexpected message type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 msg Ljava/lang/Object;
MethodParameters:
Name Flags
msg
private static long contentLength(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
instanceof io.netty.handler.codec.http.HttpContent
ifeq 2
1: aload 0
checkcast io.netty.handler.codec.http.HttpContent
invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
i2l
lreturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof io.netty.buffer.ByteBuf
ifeq 4
3: aload 0
checkcast io.netty.buffer.ByteBuf
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
i2l
lreturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof io.netty.channel.FileRegion
ifeq 6
5: aload 0
checkcast io.netty.channel.FileRegion
invokeinterface io.netty.channel.FileRegion.count:()J
lreturn
6: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unexpected message type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 msg Ljava/lang/Object;
MethodParameters:
Name Flags
msg
private static int padSizeForAccumulation(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_2
ishl
iconst_3
idiv
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 readableBytes I
MethodParameters:
Name Flags
readableBytes
protected static void encodeAscii(java.lang.String, io.netty.buffer.ByteBuf);
descriptor: (Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual io.netty.buffer.ByteBuf.writeCharSequence:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)I
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 s Ljava/lang/String;
0 2 1 buf Lio/netty/buffer/ByteBuf;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
s
buf
protected abstract void encodeInitialLine(io.netty.buffer.ByteBuf, );
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpMessage;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/buffer/ByteBuf;TH;)V
MethodParameters:
Name Flags
buf
message
}
Signature: <H::Lio/netty/handler/codec/http/HttpMessage;>Lio/netty/handler/codec/MessageToMessageEncoder<Ljava/lang/Object;>;
SourceFile: "HttpObjectEncoder.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map