public class io.netty.handler.codec.spdy.SpdyHttpEncoder extends io.netty.handler.codec.MessageToMessageEncoder<io.netty.handler.codec.http.HttpObject>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.spdy.SpdyHttpEncoder
super_class: io.netty.handler.codec.MessageToMessageEncoder
{
private int currentStreamId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final boolean validateHeaders;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean headersToLowerCase;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.netty.handler.codec.spdy.SpdyVersion);
descriptor: (Lio/netty/handler/codec/spdy/SpdyVersion;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
invokespecial io.netty.handler.codec.spdy.SpdyHttpEncoder.<init>:(Lio/netty/handler/codec/spdy/SpdyVersion;ZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/spdy/SpdyHttpEncoder;
0 2 1 version Lio/netty/handler/codec/spdy/SpdyVersion;
MethodParameters:
Name Flags
version
public void <init>(io.netty.handler.codec.spdy.SpdyVersion, boolean, boolean);
descriptor: (Lio/netty/handler/codec/spdy/SpdyVersion;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial io.netty.handler.codec.MessageToMessageEncoder.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "version"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: io.netty.handler.codec.spdy.SpdyHttpEncoder io.netty.handler.codec.spdy.SpdyVersion int int
StackMap stack:
aload 0
iload 2
putfield io.netty.handler.codec.spdy.SpdyHttpEncoder.headersToLowerCase:Z
4: aload 0
iload 3
putfield io.netty.handler.codec.spdy.SpdyHttpEncoder.validateHeaders:Z
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/spdy/SpdyHttpEncoder;
0 6 1 version Lio/netty/handler/codec/spdy/SpdyVersion;
0 6 2 headersToLowerCase Z
0 6 3 validateHeaders Z
MethodParameters:
Name Flags
version
headersToLowerCase
validateHeaders
protected void encode(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpObject, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/HttpObject;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: aload 2
instanceof io.netty.handler.codec.http.HttpRequest
ifeq 10
3: aload 2
checkcast io.netty.handler.codec.http.HttpRequest
astore 6
start local 6 4: aload 0
aload 6
invokevirtual io.netty.handler.codec.spdy.SpdyHttpEncoder.createSynStreamFrame:(Lio/netty/handler/codec/http/HttpRequest;)Lio/netty/handler/codec/spdy/SpdySynStreamFrame;
astore 7
start local 7 5: aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 7
invokeinterface io.netty.handler.codec.spdy.SpdySynStreamFrame.isLast:()Z
ifne 7
aload 7
invokeinterface io.netty.handler.codec.spdy.SpdySynStreamFrame.isUnidirectional:()Z
ifne 7
iconst_0
goto 8
StackMap locals: io.netty.handler.codec.spdy.SpdyHttpEncoder io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http.HttpObject java.util.List int int io.netty.handler.codec.http.HttpRequest io.netty.handler.codec.spdy.SpdySynStreamFrame
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 5
9: iconst_1
istore 4
end local 7 end local 6 10: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.HttpResponse
ifeq 16
11: aload 2
checkcast io.netty.handler.codec.http.HttpResponse
astore 6
start local 6 12: aload 0
aload 6
invokevirtual io.netty.handler.codec.spdy.SpdyHttpEncoder.createHeadersFrame:(Lio/netty/handler/codec/http/HttpResponse;)Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
astore 7
start local 7 13: aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 7
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.isLast:()Z
istore 5
15: iconst_1
istore 4
end local 7 end local 6 16: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.HttpContent
ifeq 42
iload 5
ifne 42
17: aload 2
checkcast io.netty.handler.codec.http.HttpContent
astore 6
start local 6 18: aload 6
invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
pop
19: new io.netty.handler.codec.spdy.DefaultSpdyDataFrame
dup
aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.currentStreamId:I
aload 6
invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
invokespecial io.netty.handler.codec.spdy.DefaultSpdyDataFrame.<init>:(ILio/netty/buffer/ByteBuf;)V
astore 7
start local 7 20: aload 6
instanceof io.netty.handler.codec.http.LastHttpContent
ifeq 40
21: aload 6
checkcast io.netty.handler.codec.http.LastHttpContent
astore 8
start local 8 22: aload 8
invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
astore 9
start local 9 23: aload 9
invokevirtual io.netty.handler.codec.http.HttpHeaders.isEmpty:()Z
ifeq 27
24: aload 7
iconst_1
invokeinterface io.netty.handler.codec.spdy.SpdyDataFrame.setLast:(Z)Lio/netty/handler/codec/spdy/SpdyDataFrame;
pop
25: aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: goto 41
27: StackMap locals: io.netty.handler.codec.spdy.SpdyHttpEncoder io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http.HttpObject java.util.List int int io.netty.handler.codec.http.HttpContent io.netty.handler.codec.spdy.SpdyDataFrame io.netty.handler.codec.http.LastHttpContent io.netty.handler.codec.http.HttpHeaders
StackMap stack:
new io.netty.handler.codec.spdy.DefaultSpdyHeadersFrame
dup
aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.currentStreamId:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.validateHeaders:Z
invokespecial io.netty.handler.codec.spdy.DefaultSpdyHeadersFrame.<init>:(IZ)V
astore 10
start local 10 28: aload 10
iconst_1
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setLast:(Z)Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
29: aload 9
invokevirtual io.netty.handler.codec.http.HttpHeaders.iteratorCharSequence:()Ljava/util/Iterator;
astore 11
start local 11 30: goto 36
31: StackMap locals: io.netty.handler.codec.spdy.SpdyHeadersFrame java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 12
start local 12 32: aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.headersToLowerCase:Z
ifeq 33
aload 12
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
invokestatic io.netty.util.AsciiString.of:(Ljava/lang/CharSequence;)Lio/netty/util/AsciiString;
invokevirtual io.netty.util.AsciiString.toLowerCase:()Lio/netty/util/AsciiString;
goto 34
StackMap locals: java.util.Map$Entry
StackMap stack:
33: aload 12
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
34: StackMap locals:
StackMap stack: java.lang.CharSequence
astore 13
start local 13 35: aload 10
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.headers:()Lio/netty/handler/codec/spdy/SpdyHeaders;
aload 13
aload 12
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.CharSequence
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
end local 13 end local 12 36: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
37: aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
38: aload 3
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 end local 9 end local 8 39: goto 41
40: StackMap locals: io.netty.handler.codec.spdy.SpdyHttpEncoder io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http.HttpObject java.util.List int int io.netty.handler.codec.http.HttpContent io.netty.handler.codec.spdy.SpdyDataFrame
StackMap stack:
aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
41: StackMap locals:
StackMap stack:
iconst_1
istore 4
end local 7 end local 6 42: StackMap locals:
StackMap stack:
iload 4
ifne 44
43: new io.netty.handler.codec.UnsupportedMessageTypeException
dup
aload 2
iconst_0
anewarray java.lang.Class
invokespecial io.netty.handler.codec.UnsupportedMessageTypeException.<init>:(Ljava/lang/Object;[Ljava/lang/Class;)V
athrow
44: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lio/netty/handler/codec/spdy/SpdyHttpEncoder;
0 45 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 45 2 msg Lio/netty/handler/codec/http/HttpObject;
0 45 3 out Ljava/util/List<Ljava/lang/Object;>;
1 45 4 valid Z
2 45 5 last Z
4 10 6 httpRequest Lio/netty/handler/codec/http/HttpRequest;
5 10 7 spdySynStreamFrame Lio/netty/handler/codec/spdy/SpdySynStreamFrame;
12 16 6 httpResponse Lio/netty/handler/codec/http/HttpResponse;
13 16 7 spdyHeadersFrame Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
18 42 6 chunk Lio/netty/handler/codec/http/HttpContent;
20 42 7 spdyDataFrame Lio/netty/handler/codec/spdy/SpdyDataFrame;
22 39 8 trailer Lio/netty/handler/codec/http/LastHttpContent;
23 39 9 trailers Lio/netty/handler/codec/http/HttpHeaders;
28 39 10 spdyHeadersFrame Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
30 39 11 itr Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;>;
32 36 12 entry Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;
35 36 13 headerName Ljava/lang/CharSequence;
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/HttpObject;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
msg
out
private io.netty.handler.codec.spdy.SpdySynStreamFrame createSynStreamFrame(io.netty.handler.codec.http.HttpRequest);
descriptor: (Lio/netty/handler/codec/http/HttpRequest;)Lio/netty/handler/codec/spdy/SpdySynStreamFrame;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.handler.codec.http.HttpRequest.headers:()Lio/netty/handler/codec/http/HttpHeaders;
astore 2
start local 2 1: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.STREAM_ID:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.getInt:(Ljava/lang/CharSequence;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 2: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.ASSOCIATED_TO_STREAM_ID:Lio/netty/util/AsciiString;
iconst_0
invokevirtual io.netty.handler.codec.http.HttpHeaders.getInt:(Ljava/lang/CharSequence;I)I
istore 4
start local 4 3: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.PRIORITY:Lio/netty/util/AsciiString;
iconst_0
invokevirtual io.netty.handler.codec.http.HttpHeaders.getInt:(Ljava/lang/CharSequence;I)I
i2b
istore 5
start local 5 4: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.SCHEME:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.get:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 6
start local 6 5: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.STREAM_ID:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
6: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.ASSOCIATED_TO_STREAM_ID:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
7: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.PRIORITY:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
8: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.SCHEME:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
9: aload 2
getstatic io.netty.handler.codec.http.HttpHeaderNames.CONNECTION:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
10: aload 2
ldc "Keep-Alive"
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/String;)Lio/netty/handler/codec/http/HttpHeaders;
pop
11: aload 2
ldc "Proxy-Connection"
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/String;)Lio/netty/handler/codec/http/HttpHeaders;
pop
12: aload 2
getstatic io.netty.handler.codec.http.HttpHeaderNames.TRANSFER_ENCODING:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
13: new io.netty.handler.codec.spdy.DefaultSpdySynStreamFrame
dup
iload 3
iload 4
iload 5
aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.validateHeaders:Z
invokespecial io.netty.handler.codec.spdy.DefaultSpdySynStreamFrame.<init>:(IIBZ)V
14: astore 7
start local 7 15: aload 7
invokeinterface io.netty.handler.codec.spdy.SpdySynStreamFrame.headers:()Lio/netty/handler/codec/spdy/SpdyHeaders;
astore 8
start local 8 16: aload 8
getstatic io.netty.handler.codec.spdy.SpdyHeaders$HttpNames.METHOD:Lio/netty/util/AsciiString;
aload 1
invokeinterface io.netty.handler.codec.http.HttpRequest.method:()Lio/netty/handler/codec/http/HttpMethod;
invokevirtual io.netty.handler.codec.http.HttpMethod.name:()Ljava/lang/String;
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
17: aload 8
getstatic io.netty.handler.codec.spdy.SpdyHeaders$HttpNames.PATH:Lio/netty/util/AsciiString;
aload 1
invokeinterface io.netty.handler.codec.http.HttpRequest.uri:()Ljava/lang/String;
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
18: aload 8
getstatic io.netty.handler.codec.spdy.SpdyHeaders$HttpNames.VERSION:Lio/netty/util/AsciiString;
aload 1
invokeinterface io.netty.handler.codec.http.HttpRequest.protocolVersion:()Lio/netty/handler/codec/http/HttpVersion;
invokevirtual io.netty.handler.codec.http.HttpVersion.text:()Ljava/lang/String;
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
19: aload 2
getstatic io.netty.handler.codec.http.HttpHeaderNames.HOST:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.get:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 9
start local 9 20: aload 2
getstatic io.netty.handler.codec.http.HttpHeaderNames.HOST:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
21: aload 8
getstatic io.netty.handler.codec.spdy.SpdyHeaders$HttpNames.HOST:Lio/netty/util/AsciiString;
aload 9
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
22: aload 6
ifnonnull 24
23: ldc "https"
astore 6
24: StackMap locals: io.netty.handler.codec.spdy.SpdyHttpEncoder io.netty.handler.codec.http.HttpRequest io.netty.handler.codec.http.HttpHeaders int int int java.lang.CharSequence io.netty.handler.codec.spdy.SpdySynStreamFrame io.netty.handler.codec.spdy.SpdyHeaders java.lang.CharSequence
StackMap stack:
aload 8
getstatic io.netty.handler.codec.spdy.SpdyHeaders$HttpNames.SCHEME:Lio/netty/util/AsciiString;
aload 6
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
25: aload 2
invokevirtual io.netty.handler.codec.http.HttpHeaders.iteratorCharSequence:()Ljava/util/Iterator;
astore 10
start local 10 26: goto 32
27: StackMap locals: java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 11
start local 11 28: aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.headersToLowerCase:Z
ifeq 29
aload 11
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
invokestatic io.netty.util.AsciiString.of:(Ljava/lang/CharSequence;)Lio/netty/util/AsciiString;
invokevirtual io.netty.util.AsciiString.toLowerCase:()Lio/netty/util/AsciiString;
goto 30
StackMap locals: java.util.Map$Entry
StackMap stack:
29: aload 11
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
30: StackMap locals:
StackMap stack: java.lang.CharSequence
astore 12
start local 12 31: aload 8
aload 12
aload 11
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.CharSequence
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
end local 12 end local 11 32: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
33: aload 0
aload 7
invokeinterface io.netty.handler.codec.spdy.SpdySynStreamFrame.streamId:()I
putfield io.netty.handler.codec.spdy.SpdyHttpEncoder.currentStreamId:I
34: iload 4
ifne 37
35: aload 7
aload 1
invokestatic io.netty.handler.codec.spdy.SpdyHttpEncoder.isLast:(Lio/netty/handler/codec/http/HttpMessage;)Z
invokeinterface io.netty.handler.codec.spdy.SpdySynStreamFrame.setLast:(Z)Lio/netty/handler/codec/spdy/SpdySynStreamFrame;
pop
36: goto 38
37: StackMap locals:
StackMap stack:
aload 7
iconst_1
invokeinterface io.netty.handler.codec.spdy.SpdySynStreamFrame.setUnidirectional:(Z)Lio/netty/handler/codec/spdy/SpdySynStreamFrame;
pop
38: StackMap locals:
StackMap stack:
aload 7
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lio/netty/handler/codec/spdy/SpdyHttpEncoder;
0 39 1 httpRequest Lio/netty/handler/codec/http/HttpRequest;
1 39 2 httpHeaders Lio/netty/handler/codec/http/HttpHeaders;
2 39 3 streamId I
3 39 4 associatedToStreamId I
4 39 5 priority B
5 39 6 scheme Ljava/lang/CharSequence;
15 39 7 spdySynStreamFrame Lio/netty/handler/codec/spdy/SpdySynStreamFrame;
16 39 8 frameHeaders Lio/netty/handler/codec/spdy/SpdyHeaders;
20 39 9 host Ljava/lang/CharSequence;
26 39 10 itr Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;>;
28 32 11 entry Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;
31 32 12 headerName Ljava/lang/CharSequence;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
httpRequest
private io.netty.handler.codec.spdy.SpdyHeadersFrame createHeadersFrame(io.netty.handler.codec.http.HttpResponse);
descriptor: (Lio/netty/handler/codec/http/HttpResponse;)Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
astore 2
start local 2 1: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.STREAM_ID:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.getInt:(Ljava/lang/CharSequence;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 2: aload 2
getstatic io.netty.handler.codec.spdy.SpdyHttpHeaders$Names.STREAM_ID:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
3: aload 2
getstatic io.netty.handler.codec.http.HttpHeaderNames.CONNECTION:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
4: aload 2
ldc "Keep-Alive"
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/String;)Lio/netty/handler/codec/http/HttpHeaders;
pop
5: aload 2
ldc "Proxy-Connection"
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/String;)Lio/netty/handler/codec/http/HttpHeaders;
pop
6: aload 2
getstatic io.netty.handler.codec.http.HttpHeaderNames.TRANSFER_ENCODING:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.remove:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpHeaders;
pop
7: iload 3
invokestatic io.netty.handler.codec.spdy.SpdyCodecUtil.isServerId:(I)Z
ifeq 10
8: new io.netty.handler.codec.spdy.DefaultSpdyHeadersFrame
dup
iload 3
aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.validateHeaders:Z
invokespecial io.netty.handler.codec.spdy.DefaultSpdyHeadersFrame.<init>:(IZ)V
astore 4
start local 4 9: goto 11
end local 4 10: StackMap locals: io.netty.handler.codec.http.HttpHeaders int
StackMap stack:
new io.netty.handler.codec.spdy.DefaultSpdySynReplyFrame
dup
iload 3
aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.validateHeaders:Z
invokespecial io.netty.handler.codec.spdy.DefaultSpdySynReplyFrame.<init>:(IZ)V
astore 4
start local 4 11: StackMap locals: io.netty.handler.codec.spdy.SpdyHeadersFrame
StackMap stack:
aload 4
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.headers:()Lio/netty/handler/codec/spdy/SpdyHeaders;
astore 5
start local 5 12: aload 5
getstatic io.netty.handler.codec.spdy.SpdyHeaders$HttpNames.STATUS:Lio/netty/util/AsciiString;
aload 1
invokeinterface io.netty.handler.codec.http.HttpResponse.status:()Lio/netty/handler/codec/http/HttpResponseStatus;
invokevirtual io.netty.handler.codec.http.HttpResponseStatus.codeAsText:()Lio/netty/util/AsciiString;
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
13: aload 5
getstatic io.netty.handler.codec.spdy.SpdyHeaders$HttpNames.VERSION:Lio/netty/util/AsciiString;
aload 1
invokeinterface io.netty.handler.codec.http.HttpResponse.protocolVersion:()Lio/netty/handler/codec/http/HttpVersion;
invokevirtual io.netty.handler.codec.http.HttpVersion.text:()Ljava/lang/String;
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
14: aload 2
invokevirtual io.netty.handler.codec.http.HttpHeaders.iteratorCharSequence:()Ljava/util/Iterator;
astore 6
start local 6 15: goto 21
16: StackMap locals: io.netty.handler.codec.spdy.SpdyHeaders java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 17: aload 0
getfield io.netty.handler.codec.spdy.SpdyHttpEncoder.headersToLowerCase:Z
ifeq 18
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
invokestatic io.netty.util.AsciiString.of:(Ljava/lang/CharSequence;)Lio/netty/util/AsciiString;
invokevirtual io.netty.util.AsciiString.toLowerCase:()Lio/netty/util/AsciiString;
goto 19
StackMap locals: java.util.Map$Entry
StackMap stack:
18: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
19: StackMap locals:
StackMap stack: java.lang.CharSequence
astore 8
start local 8 20: aload 4
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.headers:()Lio/netty/handler/codec/spdy/SpdyHeaders;
aload 8
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.CharSequence
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
end local 8 end local 7 21: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
22: aload 0
iload 3
putfield io.netty.handler.codec.spdy.SpdyHttpEncoder.currentStreamId:I
23: aload 4
aload 1
invokestatic io.netty.handler.codec.spdy.SpdyHttpEncoder.isLast:(Lio/netty/handler/codec/http/HttpMessage;)Z
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setLast:(Z)Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
24: aload 4
areturn
end local 6 end local 5 end local 4 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/spdy/SpdyHttpEncoder;
0 25 1 httpResponse Lio/netty/handler/codec/http/HttpResponse;
1 25 2 httpHeaders Lio/netty/handler/codec/http/HttpHeaders;
2 25 3 streamId I
9 10 4 spdyHeadersFrame Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
11 25 4 spdyHeadersFrame Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
12 25 5 frameHeaders Lio/netty/handler/codec/spdy/SpdyHeaders;
15 25 6 itr Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;>;
17 21 7 entry Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;
20 21 8 headerName Ljava/lang/CharSequence;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
httpResponse
private static boolean isLast(io.netty.handler.codec.http.HttpMessage);
descriptor: (Lio/netty/handler/codec/http/HttpMessage;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof io.netty.handler.codec.http.FullHttpMessage
ifeq 4
1: aload 0
checkcast io.netty.handler.codec.http.FullHttpMessage
astore 1
start local 1 2: aload 1
invokeinterface io.netty.handler.codec.http.FullHttpMessage.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
invokevirtual io.netty.handler.codec.http.HttpHeaders.isEmpty:()Z
ifeq 4
aload 1
invokeinterface io.netty.handler.codec.http.FullHttpMessage.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 httpMessage Lio/netty/handler/codec/http/HttpMessage;
2 4 1 fullMessage Lio/netty/handler/codec/http/FullHttpMessage;
MethodParameters:
Name Flags
httpMessage
protected void encode(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast io.netty.handler.codec.http.HttpObject
aload 3
invokevirtual io.netty.handler.codec.spdy.SpdyHttpEncoder.encode:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/HttpObject;Ljava/util/List;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Lio/netty/handler/codec/MessageToMessageEncoder<Lio/netty/handler/codec/http/HttpObject;>;
SourceFile: "SpdyHttpEncoder.java"
InnerClasses:
public final HttpNames = io.netty.handler.codec.spdy.SpdyHeaders$HttpNames of io.netty.handler.codec.spdy.SpdyHeaders
public final Names = io.netty.handler.codec.spdy.SpdyHttpHeaders$Names of io.netty.handler.codec.spdy.SpdyHttpHeaders
public abstract Entry = java.util.Map$Entry of java.util.Map