public class io.vertx.core.http.impl.HttpServerImpl extends io.vertx.core.net.impl.TCPServerBase implements io.vertx.core.http.HttpServer, io.vertx.core.Closeable, io.vertx.core.spi.metrics.MetricsProvider
{
static final io.vertx.core.impl.logging.Logger log;
private static final io.vertx.core.Handler DEFAULT_EXCEPTION_HANDLER;
private static final java.lang.String FLASH_POLICY_HANDLER_PROP_NAME;
private static final java.lang.String DISABLE_WEBSOCKETS_PROP_NAME;
private static final java.lang.String DISABLE_H2C_PROP_NAME;
static final boolean USE_FLASH_POLICY_HANDLER;
static final boolean DISABLE_WEBSOCKETS;
final io.vertx.core.http.HttpServerOptions options;
private final boolean disableH2c;
private final io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream;
private final io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream;
private io.vertx.core.Handler invalidRequestHandler;
private io.vertx.core.Handler connectionHandler;
private io.vertx.core.Handler exceptionHandler;
public void <init>(io.vertx.core.impl.VertxInternal, io.vertx.core.http.HttpServerOptions)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v, v;
io.vertx.core.http.HttpServerOptions v, v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.impl.VertxInternal;
v := @parameter: io.vertx.core.http.HttpServerOptions;
specialinvoke v.<io.vertx.core.net.impl.TCPServerBase: void <init>(io.vertx.core.impl.VertxInternal,io.vertx.core.net.NetServerOptions)>(v, v);
v = new io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler;
specialinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: void <init>(io.vertx.core.http.impl.HttpServerImpl)>(v);
v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream> = v;
v = new io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler;
specialinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: void <init>(io.vertx.core.http.impl.HttpServerImpl)>(v);
v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream> = v;
v = new io.vertx.core.http.HttpServerOptions;
specialinvoke v.<io.vertx.core.http.HttpServerOptions: void <init>(io.vertx.core.http.HttpServerOptions)>(v);
v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("vertx.disableH2c");
if v != 0 goto label;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: boolean isSsl()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.HttpServerImpl: boolean disableH2c> = v;
return;
}
protected io.vertx.core.spi.metrics.TCPMetrics createMetrics(io.vertx.core.net.SocketAddress)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.http.HttpServerOptions v;
io.vertx.core.spi.metrics.VertxMetrics v;
io.vertx.core.net.SocketAddress v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.net.SocketAddress;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.spi.metrics.VertxMetrics metricsSPI()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options>;
v = interfaceinvoke v.<io.vertx.core.spi.metrics.VertxMetrics: io.vertx.core.spi.metrics.HttpServerMetrics createHttpServerMetrics(io.vertx.core.http.HttpServerOptions,io.vertx.core.net.SocketAddress)>(v, v);
return v;
label:
return null;
}
public synchronized io.vertx.core.http.HttpServer requestHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.streams.ReadStream handler(io.vertx.core.Handler)>(v);
return v;
}
public io.vertx.core.streams.ReadStream requestStream()
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
return v;
}
public io.vertx.core.http.HttpServer webSocketHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.streams.ReadStream v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.streams.ReadStream webSocketStream()>();
interfaceinvoke v.<io.vertx.core.streams.ReadStream: io.vertx.core.streams.ReadStream handler(io.vertx.core.Handler)>(v);
return v;
}
public io.vertx.core.Handler requestHandler()
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler handler()>();
return v;
}
public io.vertx.core.http.HttpServer invalidRequestHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler invalidRequestHandler> = v;
return v;
}
public synchronized io.vertx.core.http.HttpServer connectionHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.HttpServerImpl v;
java.lang.IllegalStateException v;
io.vertx.core.Handler v;
boolean v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: boolean isListening()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Please set handler before server is listening");
throw v;
label:
v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler connectionHandler> = v;
return v;
}
public synchronized io.vertx.core.http.HttpServer exceptionHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.HttpServerImpl v;
java.lang.IllegalStateException v;
io.vertx.core.Handler v;
boolean v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: boolean isListening()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Please set handler before server is listening");
throw v;
label:
v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler exceptionHandler> = v;
return v;
}
public io.vertx.core.Handler webSocketHandler()
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler handler()>();
return v;
}
public io.vertx.core.streams.ReadStream webSocketStream()
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
return v;
}
public io.vertx.core.Future listen()
{
io.vertx.core.http.impl.HttpServerImpl v;
int v;
io.vertx.core.http.HttpServerOptions v, v;
java.lang.String v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: int getPort()>();
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: java.lang.String getHost()>();
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Future listen(int,java.lang.String)>(v, v);
return v;
}
protected java.util.function.BiConsumer childHandler(io.vertx.core.impl.ContextInternal, io.vertx.core.net.SocketAddress)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.impl.ContextInternal v;
java.util.function.Supplier v;
io.vertx.core.http.impl.HttpServerWorker v;
int v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
io.vertx.core.net.SocketAddress v;
io.vertx.core.http.impl.HttpServerConnectionHandler v;
io.vertx.core.impl.VertxInternal v, v;
io.vertx.core.impl.WorkerPool v;
io.netty.channel.EventLoop v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v, v;
io.vertx.core.http.HttpServerOptions v, v;
java.lang.ClassLoader v;
io.vertx.core.Handler v, v, v, v, v, v, v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.net.SocketAddress;
v = v instanceof io.vertx.core.impl.EventLoopContext;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.netty.channel.EventLoop nettyEventLoop()>();
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.WorkerPool workerPool()>();
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: java.lang.ClassLoader classLoader()>();
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.EventLoopContext createEventLoopContext(io.netty.channel.EventLoop,io.vertx.core.impl.WorkerPool,java.lang.ClassLoader)>(v, v, v);
label:
v = interfaceinvoke v.<io.vertx.core.net.SocketAddress: boolean isInetSocket()>();
if v == 0 goto label;
v = interfaceinvoke v.<io.vertx.core.net.SocketAddress: java.lang.String host()>();
goto label;
label:
v = "localhost";
label:
v = v;
v = interfaceinvoke v.<io.vertx.core.net.SocketAddress: int port()>();
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: boolean isSsl()>();
if v == 0 goto label;
v = "https";
goto label;
label:
v = "http";
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001://\u0001:\u0001");
v = new io.vertx.core.http.impl.HttpServerConnectionHandler;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
v = v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler handler>;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler invalidRequestHandler>;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
v = v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler handler>;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler connectionHandler>;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler exceptionHandler>;
if v != null goto label;
v = <io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler DEFAULT_EXCEPTION_HANDLER>;
goto label;
label:
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler exceptionHandler>;
label:
specialinvoke v.<io.vertx.core.http.impl.HttpServerConnectionHandler: void <init>(io.vertx.core.http.impl.HttpServerImpl,io.vertx.core.Handler,io.vertx.core.Handler,io.vertx.core.Handler,io.vertx.core.Handler,io.vertx.core.Handler)>(v, v, v, v, v, v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.core.http.impl.HttpServerImpl$duplicate__1006: java.util.function.Supplier bootstrap$(io.vertx.core.impl.ContextInternal)>(v);
v = new io.vertx.core.http.impl.HttpServerWorker;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.impl.VertxInternal vertx>;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options>;
v = v.<io.vertx.core.http.impl.HttpServerImpl: boolean disableH2c>;
v = v.<io.vertx.core.http.impl.HttpServerConnectionHandler: io.vertx.core.Handler exceptionHandler>;
specialinvoke v.<io.vertx.core.http.impl.HttpServerWorker: void <init>(io.vertx.core.impl.EventLoopContext,java.util.function.Supplier,io.vertx.core.http.impl.HttpServerImpl,io.vertx.core.impl.VertxInternal,io.vertx.core.http.HttpServerOptions,java.lang.String,boolean,io.vertx.core.Handler,io.vertx.core.Handler)>(v, v, v, v, v, v, v, v, v);
return v;
}
protected io.vertx.core.net.impl.SSLHelper createSSLHelper()
{
io.vertx.core.http.impl.HttpServerImpl v;
java.util.function.Function v;
io.vertx.core.net.impl.SSLHelper v;
java.util.List v;
java.util.stream.Stream v, v;
io.vertx.core.http.HttpServerOptions v, v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = new io.vertx.core.net.impl.SSLHelper;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options>;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: java.util.List getAlpnVersions()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.core.http.impl.HttpServerImpl$alpnName__1007: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
specialinvoke v.<io.vertx.core.net.impl.SSLHelper: void <init>(io.vertx.core.net.TCPSSLOptions,java.util.List)>(v, v);
return v;
}
public synchronized io.vertx.core.Future listen(io.vertx.core.net.SocketAddress)
{
io.vertx.core.http.impl.HttpServerImpl v;
java.lang.IllegalStateException v;
io.vertx.core.Future v, v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v, v;
io.vertx.core.Handler v, v;
io.vertx.core.net.SocketAddress v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.net.SocketAddress;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler handler()>();
if v != null goto label;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler handler()>();
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Set request or WebSocket handler first");
throw v;
label:
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Future bind(io.vertx.core.net.SocketAddress)>(v);
v = interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future map(java.lang.Object)>(v);
return v;
}
public io.vertx.core.Future close()
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.ContextInternal getOrCreateContext()>();
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: void close(io.vertx.core.Promise)>(v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
public void close(io.vertx.core.Handler)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.ContextInternal getOrCreateContext()>();
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: void close(io.vertx.core.Promise)>(v);
if v == null goto label;
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return;
}
public synchronized void close(io.vertx.core.Promise)
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.Promise v;
io.vertx.core.Future v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v, v, v, v, v, v;
io.vertx.core.Handler v, v, v, v, v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v := @parameter: io.vertx.core.Promise;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler endHandler()>();
if v != null goto label;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler endHandler()>();
if v == null goto label;
label:
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler endHandler()>();
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.streams.ReadStream endHandler(io.vertx.core.Handler)>(null);
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.Handler endHandler()>();
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: io.vertx.core.streams.ReadStream endHandler(io.vertx.core.Handler)>(null);
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
v = staticinvoke <io.vertx.core.http.impl.HttpServerImpl$lambda_close_1__1008: io.vertx.core.Handler bootstrap$(io.vertx.core.Handler,io.vertx.core.Handler)>(v, v);
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
specialinvoke v.<io.vertx.core.net.impl.TCPServerBase: void close(io.vertx.core.Promise)>(v);
return;
}
public boolean isClosed()
{
io.vertx.core.http.impl.HttpServerImpl v;
boolean v, v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl: boolean isListening()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
boolean requestAccept()
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v;
boolean v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler requestStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: boolean accept()>();
return v;
}
boolean wsAccept()
{
io.vertx.core.http.impl.HttpServerImpl v;
io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler v;
boolean v;
v := @this: io.vertx.core.http.impl.HttpServerImpl;
v = v.<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler wsStream>;
v = virtualinvoke v.<io.vertx.core.http.impl.HttpServerImpl$HttpStreamHandler: boolean accept()>();
return v;
}
static void <clinit>()
{
io.vertx.core.impl.logging.Logger v;
io.vertx.core.Handler v;
boolean v, v;
v = staticinvoke <io.vertx.core.impl.logging.LoggerFactory: io.vertx.core.impl.logging.Logger getLogger(java.lang.Class)>(class "Lio/vertx/core/http/impl/HttpServerImpl;");
<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.impl.logging.Logger log> = v;
v = staticinvoke <io.vertx.core.http.impl.HttpServerImpl$lambda_static_0__1009: io.vertx.core.Handler bootstrap$()>();
<io.vertx.core.http.impl.HttpServerImpl: io.vertx.core.Handler DEFAULT_EXCEPTION_HANDLER> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("vertx.flashPolicyHandler");
<io.vertx.core.http.impl.HttpServerImpl: boolean USE_FLASH_POLICY_HANDLER> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("vertx.disableWebsockets");
<io.vertx.core.http.impl.HttpServerImpl: boolean DISABLE_WEBSOCKETS> = v;
return;
}
}