public class io.micronaut.http.netty.stream.HttpStreamsServerHandler extends io.micronaut.http.netty.stream.HttpStreamsHandler<io.netty.handler.codec.http.HttpRequest, io.netty.handler.codec.http.HttpResponse>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.http.netty.stream.HttpStreamsServerHandler
super_class: io.micronaut.http.netty.stream.HttpStreamsHandler
{
private io.netty.handler.codec.http.HttpRequest lastRequest;
descriptor: Lio/netty/handler/codec/http/HttpRequest;
flags: (0x0002) ACC_PRIVATE
private io.micronaut.http.netty.stream.HttpStreamsHandler<io.netty.handler.codec.http.HttpRequest, io.netty.handler.codec.http.HttpResponse>.Outgoing webSocketResponse;
descriptor: Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/micronaut/http/netty/stream/HttpStreamsHandler<Lio/netty/handler/codec/http/HttpRequest;Lio/netty/handler/codec/http/HttpResponse;>.Outgoing;
private int inFlight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean continueExpected;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean sendContinue;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean close;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.List<io.netty.channel.ChannelHandler> dependentHandlers;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lio/netty/channel/ChannelHandler;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokespecial io.micronaut.http.netty.stream.HttpStreamsServerHandler.<init>:(Ljava/util/List;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
public void <init>(java.util.List<io.netty.channel.ChannelHandler>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lio/netty/handler/codec/http/HttpRequest;
ldc Lio/netty/handler/codec/http/HttpResponse;
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler.<init>:(Ljava/lang/Class;Ljava/lang/Class;)V
1: aload 0
aconst_null
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
2: aload 0
aconst_null
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.webSocketResponse:Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;
3: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
4: aload 0
iconst_1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
5: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.sendContinue:Z
6: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.close:Z
7: aload 0
aload 1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.dependentHandlers:Ljava/util/List;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 9 1 dependentHandlers Ljava/util/List<Lio/netty/channel/ChannelHandler;>;
Signature: (Ljava/util/List<Lio/netty/channel/ChannelHandler;>;)V
MethodParameters:
Name Flags
dependentHandlers
protected boolean hasBody(io.netty.handler.codec.http.HttpRequest);
descriptor: (Lio/netty/handler/codec/http/HttpRequest;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
invokestatic io.netty.handler.codec.http.HttpUtil.getContentLength:(Lio/netty/handler/codec/http/HttpMessage;I)I
ifne 1
aload 1
invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
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/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 2 1 request Lio/netty/handler/codec/http/HttpRequest;
MethodParameters:
Name Flags
request
protected io.netty.handler.codec.http.HttpRequest createEmptyMessage(io.netty.handler.codec.http.HttpRequest);
descriptor: (Lio/netty/handler/codec/http/HttpRequest;)Lio/netty/handler/codec/http/HttpRequest;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new io.micronaut.http.netty.stream.EmptyHttpRequest
dup
aload 1
invokespecial io.micronaut.http.netty.stream.EmptyHttpRequest.<init>:(Lio/netty/handler/codec/http/HttpRequest;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 1 1 request Lio/netty/handler/codec/http/HttpRequest;
MethodParameters:
Name Flags
request
protected io.netty.handler.codec.http.HttpRequest createStreamedMessage(io.netty.handler.codec.http.HttpRequest, org.reactivestreams.Publisher<? extends io.netty.handler.codec.http.HttpContent>);
descriptor: (Lio/netty/handler/codec/http/HttpRequest;Lorg/reactivestreams/Publisher;)Lio/netty/handler/codec/http/HttpRequest;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new io.micronaut.http.netty.stream.DelegateStreamedHttpRequest
dup
aload 1
aload 2
invokespecial io.micronaut.http.netty.stream.DelegateStreamedHttpRequest.<init>:(Lio/netty/handler/codec/http/HttpRequest;Lorg/reactivestreams/Publisher;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 1 1 httpRequest Lio/netty/handler/codec/http/HttpRequest;
0 1 2 stream Lorg/reactivestreams/Publisher<+Lio/netty/handler/codec/http/HttpContent;>;
Signature: (Lio/netty/handler/codec/http/HttpRequest;Lorg/reactivestreams/Publisher<+Lio/netty/handler/codec/http/HttpContent;>;)Lio/netty/handler/codec/http/HttpRequest;
MethodParameters:
Name Flags
httpRequest
stream
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
1: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.sendContinue:Z
2: aload 2
instanceof io.netty.handler.codec.http.HttpRequest
ifeq 7
3: aload 2
checkcast io.netty.handler.codec.http.HttpRequest
astore 3
start local 3 4: aload 0
aload 3
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
5: aload 3
invokestatic io.netty.handler.codec.http.HttpUtil.is100ContinueExpected:(Lio/netty/handler/codec/http/HttpMessage;)Z
ifeq 7
6: aload 0
iconst_1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
end local 3 7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler.channelRead:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 9 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 9 2 msg Ljava/lang/Object;
4 7 3 request Lio/netty/handler/codec/http/HttpRequest;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
protected void receivedInMessage(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
iconst_1
iadd
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
protected void sentOutMessage(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
iconst_1
isub
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
1: aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
iconst_1
if_icmpne 5
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
ifeq 5
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.sendContinue:Z
ifeq 5
2: aload 1
new io.netty.handler.codec.http.DefaultFullHttpResponse
dup
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
invokeinterface io.netty.handler.codec.http.HttpRequest.protocolVersion:()Lio/netty/handler/codec/http/HttpVersion;
getstatic io.netty.handler.codec.http.HttpResponseStatus.CONTINUE:Lio/netty/handler/codec/http/HttpResponseStatus;
invokespecial io.netty.handler.codec.http.DefaultFullHttpResponse.<init>:(Lio/netty/handler/codec/http/HttpVersion;Lio/netty/handler/codec/http/HttpResponseStatus;)V
invokeinterface io.netty.channel.ChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
pop
3: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.sendContinue:Z
4: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
5: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.close:Z
ifeq 7
6: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 8 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
protected void unbufferedWrite(io.netty.channel.ChannelHandlerContext, io.micronaut.http.netty.stream.HttpStreamsHandler<io.netty.handler.codec.http.HttpRequest, io.netty.handler.codec.http.HttpResponse>.Outgoing);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
instanceof io.micronaut.http.netty.stream.WebSocketHttpResponse
ifeq 6
1: aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
instanceof io.netty.handler.codec.http.FullHttpRequest
ifne 2
aload 0
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
invokevirtual io.micronaut.http.netty.stream.HttpStreamsServerHandler.hasBody:(Lio/netty/handler/codec/http/HttpRequest;)Z
ifne 4
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.micronaut.http.netty.stream.HttpStreamsServerHandler.handleWebSocketResponse:(Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;)V
3: goto 22
4: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.webSocketResponse:Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;
5: goto 22
6: StackMap locals:
StackMap stack:
aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
checkcast io.netty.handler.codec.http.HttpResponse
invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.CONNECTION:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.get:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 3
start local 3 7: aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
invokeinterface io.netty.handler.codec.http.HttpRequest.protocolVersion:()Lio/netty/handler/codec/http/HttpVersion;
invokevirtual io.netty.handler.codec.http.HttpVersion.isKeepAliveDefault:()Z
ifeq 11
8: ldc "close"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
9: aload 0
iconst_1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.close:Z
10: goto 13
11: StackMap locals: java.lang.String
StackMap stack:
ldc "keep-alive"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 13
12: aload 0
iconst_1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.close:Z
13: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
iconst_1
if_icmpne 17
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
ifeq 17
14: aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
iconst_0
invokestatic io.netty.handler.codec.http.HttpUtil.setKeepAlive:(Lio/netty/handler/codec/http/HttpMessage;Z)V
15: aload 0
iconst_1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.close:Z
16: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
17: StackMap locals:
StackMap stack:
aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
invokestatic io.netty.handler.codec.http.HttpUtil.isContentLengthSet:(Lio/netty/handler/codec/http/HttpMessage;)Z
ifne 21
aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
ifne 21
18: aload 0
aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
checkcast io.netty.handler.codec.http.HttpResponse
invokevirtual io.micronaut.http.netty.stream.HttpStreamsServerHandler.canHaveBody:(Lio/netty/handler/codec/http/HttpResponse;)Z
ifeq 21
19: aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
iconst_0
invokestatic io.netty.handler.codec.http.HttpUtil.setKeepAlive:(Lio/netty/handler/codec/http/HttpMessage;Z)V
20: aload 0
iconst_1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.close:Z
21: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler.unbufferedWrite:(Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;)V
end local 3 22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 23 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 23 2 out Lio/micronaut/http/netty/stream/HttpStreamsHandler<Lio/netty/handler/codec/http/HttpRequest;Lio/netty/handler/codec/http/HttpResponse;>.Outgoing;
7 22 3 connection Ljava/lang/String;
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler<Lio/netty/handler/codec/http/HttpRequest;Lio/netty/handler/codec/http/HttpResponse;>.Outgoing;)V
MethodParameters:
Name Flags
ctx
out
protected boolean isValidOutMessage(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.handler.codec.http.FullHttpResponse
ifne 1
aload 1
instanceof io.micronaut.http.netty.stream.StreamedHttpResponse
ifne 1
aload 1
instanceof io.micronaut.http.netty.stream.WebSocketHttpResponse
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/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 2 1 msg Ljava/lang/Object;
MethodParameters:
Name Flags
msg
private boolean canHaveBody(io.netty.handler.codec.http.HttpResponse);
descriptor: (Lio/netty/handler/codec/http/HttpResponse;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.handler.codec.http.HttpResponse.status:()Lio/netty/handler/codec/http/HttpResponseStatus;
astore 2
start local 2 1: aload 2
getstatic io.netty.handler.codec.http.HttpResponseStatus.CONTINUE:Lio/netty/handler/codec/http/HttpResponseStatus;
if_acmpeq 4
aload 2
getstatic io.netty.handler.codec.http.HttpResponseStatus.SWITCHING_PROTOCOLS:Lio/netty/handler/codec/http/HttpResponseStatus;
if_acmpeq 4
2: aload 2
getstatic io.netty.handler.codec.http.HttpResponseStatus.PROCESSING:Lio/netty/handler/codec/http/HttpResponseStatus;
if_acmpeq 4
aload 2
getstatic io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT:Lio/netty/handler/codec/http/HttpResponseStatus;
if_acmpeq 4
3: aload 2
getstatic io.netty.handler.codec.http.HttpResponseStatus.NOT_MODIFIED:Lio/netty/handler/codec/http/HttpResponseStatus;
if_acmpne 5
4: StackMap locals: io.netty.handler.codec.http.HttpResponseStatus
StackMap stack:
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 7 1 message Lio/netty/handler/codec/http/HttpResponse;
1 7 2 status Lio/netty/handler/codec/http/HttpResponseStatus;
MethodParameters:
Name Flags
message
protected void consumedInMessage(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.webSocketResponse:Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;
ifnull 3
1: aload 0
aload 1
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.webSocketResponse:Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;
invokevirtual io.micronaut.http.netty.stream.HttpStreamsServerHandler.handleWebSocketResponse:(Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;)V
2: aload 0
aconst_null
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.webSocketResponse:Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
private void handleWebSocketResponse(io.netty.channel.ChannelHandlerContext, io.micronaut.http.netty.stream.HttpStreamsHandler<io.netty.handler.codec.http.HttpRequest, io.netty.handler.codec.http.HttpResponse>.Outgoing);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.message:Lio/netty/handler/codec/http/HttpMessage;
checkcast io.micronaut.http.netty.stream.WebSocketHttpResponse
astore 3
start local 3 1: aload 3
invokeinterface io.micronaut.http.netty.stream.WebSocketHttpResponse.handshakerFactory:()Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshakerFactory;
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketServerHandshakerFactory.newHandshaker:(Lio/netty/handler/codec/http/HttpRequest;)Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshaker;
astore 4
start local 4 2: aload 4
ifnonnull 12
3: new io.netty.handler.codec.http.DefaultFullHttpResponse
dup
4: getstatic io.netty.handler.codec.http.HttpVersion.HTTP_1_1:Lio/netty/handler/codec/http/HttpVersion;
5: getstatic io.netty.handler.codec.http.HttpResponseStatus.UPGRADE_REQUIRED:Lio/netty/handler/codec/http/HttpResponseStatus;
6: invokespecial io.netty.handler.codec.http.DefaultFullHttpResponse.<init>:(Lio/netty/handler/codec/http/HttpVersion;Lio/netty/handler/codec/http/HttpResponseStatus;)V
astore 5
start local 5 7: aload 5
invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.SEC_WEBSOCKET_VERSION:Lio/netty/util/AsciiString;
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V13:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketVersion.toHttpHeaderValue:()Ljava/lang/String;
invokevirtual io.netty.handler.codec.http.HttpHeaders.set:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
8: aload 5
lconst_0
invokestatic io.netty.handler.codec.http.HttpUtil.setContentLength:(Lio/netty/handler/codec/http/HttpMessage;J)V
9: aload 0
aload 1
new io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing
dup
aload 0
aload 5
aload 2
getfield io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.promise:Lio/netty/channel/ChannelPromise;
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing.<init>:(Lio/micronaut/http/netty/stream/HttpStreamsHandler;Lio/netty/handler/codec/http/HttpMessage;Lio/netty/channel/ChannelPromise;)V
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler.unbufferedWrite:(Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler$Outgoing;)V
10: aload 3
new io.micronaut.http.netty.reactive.CancelledSubscriber
dup
invokespecial io.micronaut.http.netty.reactive.CancelledSubscriber.<init>:()V
invokeinterface io.micronaut.http.netty.stream.WebSocketHttpResponse.subscribe:(Lorg/reactivestreams/Subscriber;)V
end local 5 11: goto 21
12: StackMap locals: io.micronaut.http.netty.stream.WebSocketHttpResponse io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 5
start local 5 13: new io.micronaut.http.netty.reactive.HandlerPublisher
dup
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
ldc Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
invokespecial io.micronaut.http.netty.reactive.HandlerPublisher.<init>:(Lio/netty/util/concurrent/EventExecutor;Ljava/lang/Class;)V
astore 6
start local 6 14: new io.micronaut.http.netty.reactive.HandlerSubscriber
dup
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokespecial io.micronaut.http.netty.reactive.HandlerSubscriber.<init>:(Lio/netty/util/concurrent/EventExecutor;)V
astore 7
start local 7 15: aload 5
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.name:()Ljava/lang/String;
ldc "websocket-subscriber"
aload 7
invokeinterface io.netty.channel.ChannelPipeline.addAfter:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
16: aload 5
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.name:()Ljava/lang/String;
ldc "websocket-publisher"
aload 6
invokeinterface io.netty.channel.ChannelPipeline.addAfter:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
17: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.name:()Ljava/lang/String;
invokeinterface io.netty.channel.ChannelPipeline.remove:(Ljava/lang/String;)Lio/netty/channel/ChannelHandler;
pop
18: aload 4
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
new io.micronaut.http.netty.stream.EmptyHttpRequest
dup
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
invokespecial io.micronaut.http.netty.stream.EmptyHttpRequest.<init>:(Lio/netty/handler/codec/http/HttpRequest;)V
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker.handshake:(Lio/netty/channel/Channel;Lio/netty/handler/codec/http/FullHttpRequest;)Lio/netty/channel/ChannelFuture;
pop
19: aload 3
aload 7
invokeinterface io.micronaut.http.netty.stream.WebSocketHttpResponse.subscribe:(Lorg/reactivestreams/Subscriber;)V
20: aload 6
aload 3
invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
end local 7 end local 6 end local 5 21: 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 22 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 22 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 22 2 out Lio/micronaut/http/netty/stream/HttpStreamsHandler<Lio/netty/handler/codec/http/HttpRequest;Lio/netty/handler/codec/http/HttpResponse;>.Outgoing;
1 22 3 response Lio/micronaut/http/netty/stream/WebSocketHttpResponse;
2 22 4 handshaker Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshaker;
7 11 5 res Lio/netty/handler/codec/http/HttpResponse;
13 21 5 pipeline Lio/netty/channel/ChannelPipeline;
14 21 6 publisher Lio/micronaut/http/netty/reactive/HandlerPublisher<Lio/netty/handler/codec/http/websocketx/WebSocketFrame;>;
15 21 7 subscriber Lio/micronaut/http/netty/reactive/HandlerSubscriber<Lio/netty/handler/codec/http/websocketx/WebSocketFrame;>;
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/micronaut/http/netty/stream/HttpStreamsHandler<Lio/netty/handler/codec/http/HttpRequest;Lio/netty/handler/codec/http/HttpResponse;>.Outgoing;)V
MethodParameters:
Name Flags
ctx
out
protected void bodyRequested(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
ifeq 6
1: aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.inFlight:I
iconst_1
if_icmpne 5
2: aload 1
new io.netty.handler.codec.http.DefaultFullHttpResponse
dup
aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.lastRequest:Lio/netty/handler/codec/http/HttpRequest;
invokeinterface io.netty.handler.codec.http.HttpRequest.protocolVersion:()Lio/netty/handler/codec/http/HttpVersion;
getstatic io.netty.handler.codec.http.HttpResponseStatus.CONTINUE:Lio/netty/handler/codec/http/HttpResponseStatus;
invokespecial io.netty.handler.codec.http.DefaultFullHttpResponse.<init>:(Lio/netty/handler/codec/http/HttpVersion;Lio/netty/handler/codec/http/HttpResponseStatus;)V
invokeinterface io.netty.channel.ChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
pop
3: aload 0
iconst_0
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.continueExpected:Z
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.sendContinue:Z
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
protected final boolean isClient();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
public void handlerRemoved(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler.handlerRemoved:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 0
getfield io.micronaut.http.netty.stream.HttpStreamsServerHandler.dependentHandlers:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: io.micronaut.http.netty.stream.HttpStreamsServerHandler io.netty.channel.ChannelHandlerContext top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.ChannelHandler
astore 2
start local 2 3: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
aload 2
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
4: goto 6
StackMap locals: io.micronaut.http.netty.stream.HttpStreamsServerHandler io.netty.channel.ChannelHandlerContext io.netty.channel.ChannelHandler java.util.Iterator
StackMap stack: java.util.NoSuchElementException
5: pop
end local 2 6: StackMap locals: io.micronaut.http.netty.stream.HttpStreamsServerHandler io.netty.channel.ChannelHandlerContext top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/http/netty/stream/HttpStreamsServerHandler;
0 8 1 ctx Lio/netty/channel/ChannelHandlerContext;
3 6 2 dependent Lio/netty/channel/ChannelHandler;
Exception table:
from to target type
3 4 5 Class java.util.NoSuchElementException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelReadComplete(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler.channelReadComplete:(Lio/netty/channel/ChannelHandlerContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
public void write(io.netty.channel.ChannelHandlerContext, java.lang.Object, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokespecial io.micronaut.http.netty.stream.HttpStreamsHandler.write:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
protected io.netty.handler.codec.http.HttpMessage createEmptyMessage(io.netty.handler.codec.http.HttpMessage);
descriptor: (Lio/netty/handler/codec/http/HttpMessage;)Lio/netty/handler/codec/http/HttpMessage;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.netty.handler.codec.http.HttpRequest
invokevirtual io.micronaut.http.netty.stream.HttpStreamsServerHandler.createEmptyMessage:(Lio/netty/handler/codec/http/HttpRequest;)Lio/netty/handler/codec/http/HttpRequest;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected boolean hasBody(io.netty.handler.codec.http.HttpMessage);
descriptor: (Lio/netty/handler/codec/http/HttpMessage;)Z
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.netty.handler.codec.http.HttpRequest
invokevirtual io.micronaut.http.netty.stream.HttpStreamsServerHandler.hasBody:(Lio/netty/handler/codec/http/HttpRequest;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
protected io.netty.handler.codec.http.HttpMessage createStreamedMessage(io.netty.handler.codec.http.HttpMessage, org.reactivestreams.Publisher);
descriptor: (Lio/netty/handler/codec/http/HttpMessage;Lorg/reactivestreams/Publisher;)Lio/netty/handler/codec/http/HttpMessage;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast io.netty.handler.codec.http.HttpRequest
aload 2
invokevirtual io.micronaut.http.netty.stream.HttpStreamsServerHandler.createStreamedMessage:(Lio/netty/handler/codec/http/HttpRequest;Lorg/reactivestreams/Publisher;)Lio/netty/handler/codec/http/HttpRequest;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lio/micronaut/http/netty/stream/HttpStreamsHandler<Lio/netty/handler/codec/http/HttpRequest;Lio/netty/handler/codec/http/HttpResponse;>;
SourceFile: "HttpStreamsServerHandler.java"
InnerClasses:
Outgoing = io.micronaut.http.netty.stream.HttpStreamsHandler$Outgoing of io.micronaut.http.netty.stream.HttpStreamsHandler
RuntimeVisibleAnnotations:
io.micronaut.core.annotation.Internal()