public final class io.netty.example.http.upload.HttpUploadServer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.netty.example.http.upload.HttpUploadServer
super_class: java.lang.Object
{
static final boolean SSL;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int PORT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "ssl"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.example.http.upload.HttpUploadServer.SSL:Z
3: ldc "port"
getstatic io.netty.example.http.upload.HttpUploadServer.SSL:Z
ifeq 4
ldc "8443"
goto 5
StackMap locals:
StackMap stack: java.lang.String
4: ldc "8080"
StackMap locals:
StackMap stack: java.lang.String java.lang.String
5: invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putstatic io.netty.example.http.upload.HttpUploadServer.PORT:I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/example/http/upload/HttpUploadServer;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: getstatic io.netty.example.http.upload.HttpUploadServer.SSL:Z
ifeq 4
1: new io.netty.handler.ssl.util.SelfSignedCertificate
dup
invokespecial io.netty.handler.ssl.util.SelfSignedCertificate.<init>:()V
astore 2
start local 2 2: aload 2
invokevirtual io.netty.handler.ssl.util.SelfSignedCertificate.certificate:()Ljava/io/File;
aload 2
invokevirtual io.netty.handler.ssl.util.SelfSignedCertificate.privateKey:()Ljava/io/File;
invokestatic io.netty.handler.ssl.SslContextBuilder.forServer:(Ljava/io/File;Ljava/io/File;)Lio/netty/handler/ssl/SslContextBuilder;
invokevirtual io.netty.handler.ssl.SslContextBuilder.build:()Lio/netty/handler/ssl/SslContext;
astore 1
end local 2 start local 1 3: goto 5
end local 1 4: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 5: StackMap locals: io.netty.handler.ssl.SslContext
StackMap stack:
new io.netty.channel.nio.NioEventLoopGroup
dup
iconst_1
invokespecial io.netty.channel.nio.NioEventLoopGroup.<init>:(I)V
astore 2
start local 2 6: new io.netty.channel.nio.NioEventLoopGroup
dup
invokespecial io.netty.channel.nio.NioEventLoopGroup.<init>:()V
astore 3
start local 3 7: new io.netty.bootstrap.ServerBootstrap
dup
invokespecial io.netty.bootstrap.ServerBootstrap.<init>:()V
astore 4
start local 4 8: aload 4
aload 2
aload 3
invokevirtual io.netty.bootstrap.ServerBootstrap.group:(Lio/netty/channel/EventLoopGroup;Lio/netty/channel/EventLoopGroup;)Lio/netty/bootstrap/ServerBootstrap;
pop
9: aload 4
ldc Lio/netty/channel/socket/nio/NioServerSocketChannel;
invokevirtual io.netty.bootstrap.ServerBootstrap.channel:(Ljava/lang/Class;)Lio/netty/bootstrap/AbstractBootstrap;
pop
10: aload 4
new io.netty.handler.logging.LoggingHandler
dup
getstatic io.netty.handler.logging.LogLevel.INFO:Lio/netty/handler/logging/LogLevel;
invokespecial io.netty.handler.logging.LoggingHandler.<init>:(Lio/netty/handler/logging/LogLevel;)V
invokevirtual io.netty.bootstrap.ServerBootstrap.handler:(Lio/netty/channel/ChannelHandler;)Lio/netty/bootstrap/AbstractBootstrap;
pop
11: aload 4
new io.netty.example.http.upload.HttpUploadServerInitializer
dup
aload 1
invokespecial io.netty.example.http.upload.HttpUploadServerInitializer.<init>:(Lio/netty/handler/ssl/SslContext;)V
invokevirtual io.netty.bootstrap.ServerBootstrap.childHandler:(Lio/netty/channel/ChannelHandler;)Lio/netty/bootstrap/ServerBootstrap;
pop
12: aload 4
getstatic io.netty.example.http.upload.HttpUploadServer.PORT:I
invokevirtual io.netty.bootstrap.ServerBootstrap.bind:(I)Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.sync:()Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.channel:()Lio/netty/channel/Channel;
astore 5
start local 5 13: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Open your web browser and navigate to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: getstatic io.netty.example.http.upload.HttpUploadServer.SSL:Z
ifeq 15
ldc "https"
goto 16
StackMap locals: java.lang.String[] io.netty.handler.ssl.SslContext io.netty.channel.EventLoopGroup io.netty.channel.EventLoopGroup io.netty.bootstrap.ServerBootstrap io.netty.channel.Channel
StackMap stack: java.io.PrintStream java.lang.StringBuilder
15: ldc "http"
StackMap locals: java.lang.String[] io.netty.handler.ssl.SslContext io.netty.channel.EventLoopGroup io.netty.channel.EventLoopGroup io.netty.bootstrap.ServerBootstrap io.netty.channel.Channel
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
16: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "://127.0.0.1:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic io.netty.example.http.upload.HttpUploadServer.PORT:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: aload 5
invokeinterface io.netty.channel.Channel.closeFuture:()Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.sync:()Lio/netty/channel/ChannelFuture;
pop
end local 5 end local 4 19: goto 24
StackMap locals: java.lang.String[] io.netty.handler.ssl.SslContext io.netty.channel.EventLoopGroup io.netty.channel.EventLoopGroup
StackMap stack: java.lang.Throwable
20: astore 6
21: aload 2
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
22: aload 3
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
23: aload 6
athrow
24: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
25: aload 3
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
26: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 args [Ljava/lang/String;
3 4 1 sslCtx Lio/netty/handler/ssl/SslContext;
5 27 1 sslCtx Lio/netty/handler/ssl/SslContext;
2 3 2 ssc Lio/netty/handler/ssl/util/SelfSignedCertificate;
6 27 2 bossGroup Lio/netty/channel/EventLoopGroup;
7 27 3 workerGroup Lio/netty/channel/EventLoopGroup;
8 19 4 b Lio/netty/bootstrap/ServerBootstrap;
13 19 5 ch Lio/netty/channel/Channel;
Exception table:
from to target type
7 20 20 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "HttpUploadServer.java"