public class io.vertx.core.http.impl.Http1xServerConnection extends io.vertx.core.http.impl.Http1xConnectionBase implements io.vertx.core.http.impl.HttpServerConnection
{
private static final io.vertx.core.impl.logging.Logger log;
private final java.lang.String serverOrigin;
private final java.util.function.Supplier streamContextSupplier;
private final io.vertx.core.net.impl.SslChannelProvider sslChannelProvider;
private final io.vertx.core.tracing.TracingPolicy tracingPolicy;
private boolean requestFailed;
private io.vertx.core.http.impl.Http1xServerRequest requestInProgress;
private io.vertx.core.http.impl.Http1xServerRequest responseInProgress;
private boolean keepAlive;
private boolean channelPaused;
private boolean writable;
private io.vertx.core.Handler requestHandler;
private io.vertx.core.Handler invalidRequestHandler;
final io.vertx.core.spi.metrics.HttpServerMetrics metrics;
final boolean handle100ContinueAutomatically;
final io.vertx.core.http.HttpServerOptions options;
static final boolean $assertionsDisabled;
public void <init>(java.util.function.Supplier, io.vertx.core.net.impl.SslChannelProvider, io.vertx.core.http.HttpServerOptions, io.netty.channel.ChannelHandlerContext, io.vertx.core.impl.ContextInternal, java.lang.String, io.vertx.core.spi.metrics.HttpServerMetrics)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.util.function.Supplier v;
io.netty.channel.ChannelHandlerContext v;
io.vertx.core.net.impl.SslChannelProvider v;
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.http.HttpServerOptions v;
java.lang.String v;
io.vertx.core.tracing.TracingPolicy v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: java.util.function.Supplier;
v := @parameter: io.vertx.core.net.impl.SslChannelProvider;
v := @parameter: io.vertx.core.http.HttpServerOptions;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.spi.metrics.HttpServerMetrics;
specialinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void <init>(io.vertx.core.impl.ContextInternal,io.netty.channel.ChannelHandlerContext)>(v, v);
v.<io.vertx.core.http.impl.Http1xServerConnection: java.lang.String serverOrigin> = v;
v.<io.vertx.core.http.impl.Http1xServerConnection: java.util.function.Supplier streamContextSupplier> = v;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.HttpServerOptions options> = v;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.net.impl.SslChannelProvider sslChannelProvider> = v;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics> = v;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: boolean isHandle100ContinueAutomatically()>();
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean handle100ContinueAutomatically> = v;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: io.vertx.core.tracing.TracingPolicy getTracingPolicy()>();
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.tracing.TracingPolicy tracingPolicy> = v;
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean writable> = 1;
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive> = 1;
return;
}
io.vertx.core.tracing.TracingPolicy tracingPolicy()
{
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.tracing.TracingPolicy v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.tracing.TracingPolicy tracingPolicy>;
return v;
}
public io.vertx.core.http.impl.HttpServerConnection handler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.Handler requestHandler> = v;
return v;
}
public io.vertx.core.http.impl.HttpServerConnection invalidRequestHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.Handler invalidRequestHandler> = v;
return v;
}
public io.vertx.core.spi.metrics.HttpServerMetrics metrics()
{
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.spi.metrics.HttpServerMetrics v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
return v;
}
public void handleMessage(java.lang.Object)
{
io.vertx.core.impl.ContextInternal v;
java.lang.AssertionError v;
java.util.function.Supplier v;
io.netty.handler.codec.http.LastHttpContent v;
io.vertx.core.http.impl.Http1xServerRequest v, v, v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v, v, v, v, v, v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.netty.handler.codec.DecoderResult v;
java.lang.Object v, v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: java.lang.Object;
v = <io.vertx.core.http.impl.Http1xServerConnection: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress>;
if v != null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.WebSocketImplBase webSocket>;
if v != null goto label;
return;
label:
v = <io.netty.handler.codec.http.LastHttpContent: io.netty.handler.codec.http.LastHttpContent EMPTY_LAST_CONTENT>;
if v != v goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void onEnd()>();
goto label;
label:
v = v instanceof io.netty.handler.codec.http.DefaultHttpRequest;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: java.util.function.Supplier streamContextSupplier>;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
v = new io.vertx.core.http.impl.Http1xServerRequest;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: void <init>(io.vertx.core.http.impl.Http1xServerConnection,io.netty.handler.codec.http.HttpRequest,io.vertx.core.impl.ContextInternal)>(v, v, v);
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress> = v;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
if v == null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void enqueueRequest(io.vertx.core.http.impl.Http1xServerRequest)>(v);
return;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress>;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress> = v;
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: boolean isKeepAlive(io.netty.handler.codec.http.HttpRequest)>(v);
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive> = v;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean writable>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: void handleBegin(boolean,boolean)>(v, v);
v = virtualinvoke v.<io.netty.handler.codec.http.DefaultHttpRequest: io.netty.handler.codec.DecoderResult decoderResult()>();
v = virtualinvoke v.<io.netty.handler.codec.DecoderResult: boolean isSuccess()>();
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.Handler requestHandler>;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.Handler invalidRequestHandler>;
label:
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void emit(java.lang.Object,io.vertx.core.Handler)>(v, v);
goto label;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void handleOther(java.lang.Object)>(v);
label:
return;
}
private void enqueueRequest(io.vertx.core.http.impl.Http1xServerRequest)
{
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerRequest v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.http.impl.Http1xServerRequest;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: void enqueue(io.vertx.core.http.impl.Http1xServerRequest)>(v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.HttpServerRequest pause()>();
return;
}
private void handleOther(java.lang.Object)
{
java.lang.Object v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: java.lang.Object;
v = v instanceof io.netty.handler.codec.http.DefaultHttpContent;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpContent;
if v == 0 goto label;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void onContent(java.lang.Object)>(v);
goto label;
label:
v = v instanceof io.netty.handler.codec.http.websocketx.WebSocketFrame;
if v == 0 goto label;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void handleWsFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame)>(v);
label:
return;
}
private void onContent(java.lang.Object)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.netty.handler.codec.DecoderResult v;
io.vertx.core.http.impl.Http1xServerRequest v;
io.netty.buffer.ByteBuf v, v;
io.vertx.core.buffer.Buffer v;
java.lang.Object v;
io.vertx.core.Handler v;
boolean v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: java.lang.Object;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: io.netty.handler.codec.DecoderResult decoderResult()>();
v = virtualinvoke v.<io.netty.handler.codec.DecoderResult: boolean isSuccess()>();
if v != 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void handleError(io.netty.handler.codec.http.HttpObject)>(v);
return;
label:
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: io.netty.buffer.ByteBuf content()>();
v = staticinvoke <io.vertx.core.net.impl.VertxHandler: io.netty.buffer.ByteBuf safeBuffer(io.netty.buffer.ByteBuf)>(v);
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(io.netty.buffer.ByteBuf)>(v);
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress>;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$handleContent__1443: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.Http1xServerRequest)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(java.lang.Object,io.vertx.core.Handler)>(v, v);
v = v instanceof io.netty.handler.codec.http.LastHttpContent;
if v == 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void onEnd()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void onEnd()
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerRequest v, v;
io.vertx.core.Handler v;
boolean v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress>;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress> = null;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$handleEnd__1444: io.vertx.core.Handler bootstrap$()>();
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(java.lang.Object,io.vertx.core.Handler)>(v, v);
if v == 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void flushAndClose()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void flushAndClose()
{
io.netty.buffer.ByteBuf v;
io.netty.channel.ChannelPromise v;
io.netty.util.concurrent.GenericFutureListener v;
io.vertx.core.http.impl.Http1xServerConnection v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: io.netty.channel.ChannelPromise channelFuture()>();
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void writeToChannel(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_flushAndClose_0__1445: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.http.impl.Http1xServerConnection)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
void responseComplete()
{
io.vertx.core.impl.ContextInternal v;
java.lang.Runnable v;
io.vertx.core.http.impl.Http1xServerRequest v, v, v;
io.netty.buffer.ByteBuf v;
io.netty.channel.ChannelPromise v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v, v, v, v;
io.netty.util.concurrent.GenericFutureListener v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.netty.channel.EventLoop v;
io.netty.handler.codec.DecoderResult v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.netty.channel.EventLoop nettyEventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: boolean inEventLoop()>();
if v == 0 goto label;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void reportResponseComplete()>();
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress> = null;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.netty.handler.codec.DecoderResult decoderResult()>();
v = virtualinvoke v.<io.netty.handler.codec.DecoderResult: boolean isSuccess()>();
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive>;
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerRequest next()>();
if v == null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void handleNext(io.vertx.core.http.impl.Http1xServerRequest)>(v);
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress>;
if v == v goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.WebSocketImplBase webSocket>;
if v != null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void flushAndClose()>();
goto label;
label:
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: io.netty.channel.ChannelPromise channelFuture()>();
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void writeToChannel(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_responseComplete_1__1447: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.http.impl.Http1xServerConnection,io.netty.handler.codec.DecoderResult)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$responseComplete__1446: java.lang.Runnable bootstrap$(io.vertx.core.http.impl.Http1xServerConnection)>(v);
interfaceinvoke v.<io.netty.channel.EventLoop: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void handleNext(io.vertx.core.http.impl.Http1xServerRequest)
{
io.netty.handler.codec.http.HttpRequest v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerRequest v;
io.vertx.core.Handler v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.http.impl.Http1xServerRequest;
v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress> = v;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.netty.handler.codec.http.HttpRequest nettyRequest()>();
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: boolean isKeepAlive(io.netty.handler.codec.http.HttpRequest)>(v);
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive> = v;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean writable>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean keepAlive>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: void handleBegin(boolean,boolean)>(v, v);
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_handleNext_2__1448: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.Http1xServerConnection)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void emit(java.lang.Object,io.vertx.core.Handler)>(v, v);
return;
}
public void doPause()
{
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean channelPaused>;
if v != 0 goto label;
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean channelPaused> = 1;
specialinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void doPause()>();
label:
return;
}
public void doResume()
{
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean channelPaused>;
if v == 0 goto label;
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean channelPaused> = 0;
specialinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void doResume()>();
label:
return;
}
private void reportResponseComplete()
{
io.vertx.core.impl.ContextInternal v, v;
long v;
io.vertx.core.http.impl.Http1xServerResponse v, v, v;
io.vertx.core.http.impl.Http1xServerRequest v;
io.vertx.core.spi.metrics.HttpServerMetrics v, v, v;
boolean v;
io.vertx.core.spi.tracing.TagExtractor v;
io.vertx.core.spi.tracing.VertxTracer v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.Object v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void flushBytesWritten()>();
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean requestFailed>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: java.lang.Object metric()>();
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void requestReset(java.lang.Object)>(v);
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean requestFailed> = 0;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: java.lang.Object metric()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten()>();
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void responseEnd(java.lang.Object,io.vertx.core.spi.observability.HttpResponse,long)>(v, v, v);
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.spi.tracing.VertxTracer tracer()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: java.lang.Object trace()>();
if v == null goto label;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
v = <io.vertx.core.http.impl.HttpUtils: io.vertx.core.spi.tracing.TagExtractor SERVER_RESPONSE_TAG_EXTRACTOR>;
interfaceinvoke v.<io.vertx.core.spi.tracing.VertxTracer: void sendResponse(io.vertx.core.Context,java.lang.Object,java.lang.Object,java.lang.Throwable,io.vertx.core.spi.tracing.TagExtractor)>(v, v, v, null, v);
label:
return;
}
java.lang.String getServerOrigin()
{
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: java.lang.String serverOrigin>;
return v;
}
io.vertx.core.Vertx vertx()
{
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.impl.VertxInternal v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.impl.VertxInternal vertx>;
return v;
}
void createWebSocket(io.vertx.core.http.impl.Http1xServerRequest, io.vertx.core.impl.future.PromiseInternal)
{
io.vertx.core.http.impl.Http1xServerRequest v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.Runnable v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.http.impl.Http1xServerRequest;
v := @parameter: io.vertx.core.impl.future.PromiseInternal;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_createWebSocket_3__1449: java.lang.Runnable bootstrap$(io.vertx.core.http.impl.Http1xServerConnection,io.vertx.core.http.impl.Http1xServerRequest,io.vertx.core.impl.future.PromiseInternal)>(v, v, v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(java.lang.Runnable)>(v);
return;
}
private io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker createHandshaker(io.vertx.core.http.impl.Http1xServerRequest) throws io.netty.handler.codec.http.websocketx.WebSocketHandshakeException
{
io.netty.handler.codec.http.websocketx.WebSocketServerHandshakerFactory v;
io.netty.util.AsciiString v;
io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder v, v, v, v, v;
boolean v, v, v, v, v, v;
io.netty.handler.codec.http.HttpRequest v;
java.lang.CharSequence v;
io.netty.handler.codec.http.HttpResponseStatus v, v, v, v;
java.lang.Exception v;
java.util.List v, v;
io.vertx.core.http.HttpServerResponse v, v, v, v, v;
io.netty.handler.codec.http.websocketx.WebSocketHandshakeException v, v, v, v;
io.vertx.core.http.impl.Http1xServerResponse v, v, v, v;
io.netty.handler.codec.http.websocketx.WebSocketVersion v;
io.vertx.core.http.impl.Http1xServerRequest v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v;
io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.HttpMethod v, v;
io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker v;
io.vertx.core.http.HttpServerOptions v, v, v, v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.http.impl.Http1xServerRequest;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONNECTION>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: java.lang.String getHeader(java.lang.CharSequence)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("upgrade");
if v != 0 goto label;
label:
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus BAD_REQUEST>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.HttpServerResponse setStatusCode(int)>(v);
interfaceinvoke v.<io.vertx.core.http.HttpServerResponse: io.vertx.core.Future end(java.lang.String)>("\"Connection\" header must be \"Upgrade\".");
v = new io.netty.handler.codec.http.websocketx.WebSocketHandshakeException;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketHandshakeException: void <init>(java.lang.String)>("Invalid connection header");
throw v;
label:
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.HttpMethod method()>();
v = <io.vertx.core.http.HttpMethod: io.vertx.core.http.HttpMethod GET>;
if v == v goto label;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus METHOD_NOT_ALLOWED>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.HttpServerResponse setStatusCode(int)>(v);
interfaceinvoke v.<io.vertx.core.http.HttpServerResponse: io.vertx.core.Future end()>();
v = new io.netty.handler.codec.http.websocketx.WebSocketHandshakeException;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketHandshakeException: void <init>(java.lang.String)>("Invalid HTTP method");
throw v;
label:
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: boolean isSsl()>();
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: java.lang.String getWebSocketLocation(io.vertx.core.http.HttpServerRequest,boolean)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus BAD_REQUEST>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.HttpServerResponse setStatusCode(int)>(v);
interfaceinvoke v.<io.vertx.core.http.HttpServerResponse: io.vertx.core.Future end(java.lang.String)>("Invalid request URI");
v = new io.netty.handler.codec.http.websocketx.WebSocketHandshakeException;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketHandshakeException: void <init>(java.lang.String,java.lang.Throwable)>("Invalid WebSocket location", v);
throw v;
label:
v = null;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: java.util.List getWebSocketSubProtocols()>();
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: java.util.List getWebSocketSubProtocols()>();
v = staticinvoke <java.lang.String: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>(",", v);
label:
v = staticinvoke <io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig: io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder newBuilder()>();
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: boolean getPerMessageWebSocketCompressionSupported()>();
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: boolean getPerFrameWebSocketCompressionSupported()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder: io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder allowExtensions(boolean)>(v);
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: int getMaxWebSocketFrameSize()>();
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder: io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder maxFramePayloadLength(int)>(v);
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.HttpServerOptions options>;
v = virtualinvoke v.<io.vertx.core.http.HttpServerOptions: boolean isAcceptUnmaskedFrames()>();
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder: io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder allowMaskMismatch(boolean)>(v);
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder: io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder closeOnProtocolViolation(boolean)>(0);
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder: io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig build()>();
v = new io.netty.handler.codec.http.websocketx.WebSocketServerHandshakerFactory;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketServerHandshakerFactory: void <init>(java.lang.String,java.lang.String,io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig)>(v, v, v);
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.netty.handler.codec.http.HttpRequest nettyRequest()>();
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketServerHandshakerFactory: io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker newHandshaker(io.netty.handler.codec.http.HttpRequest)>(v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString SEC_WEBSOCKET_VERSION>;
v = <io.netty.handler.codec.http.websocketx.WebSocketVersion: io.netty.handler.codec.http.websocketx.WebSocketVersion V13>;
v = virtualinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketVersion: java.lang.String toHttpHeaderValue()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.HttpServerResponse putHeader(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus UPGRADE_REQUIRED>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
v = interfaceinvoke v.<io.vertx.core.http.HttpServerResponse: io.vertx.core.http.HttpServerResponse setStatusCode(int)>(v);
interfaceinvoke v.<io.vertx.core.http.HttpServerResponse: io.vertx.core.Future end()>();
v = new io.netty.handler.codec.http.websocketx.WebSocketHandshakeException;
specialinvoke v.<io.netty.handler.codec.http.websocketx.WebSocketHandshakeException: void <init>(java.lang.String)>("Invalid WebSocket version");
throw v;
catch java.lang.Exception from label to label with label;
}
public void netSocket(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.Handler;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.Future netSocket()>();
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
label:
return;
}
public io.vertx.core.Future netSocket()
{
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void netSocket(io.vertx.core.Promise)>(v);
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
return v;
}
void netSocket(io.vertx.core.Promise)
{
io.vertx.core.Promise v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.Runnable v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.vertx.core.Promise;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_netSocket_5__1450: java.lang.Runnable bootstrap$(io.vertx.core.http.impl.Http1xServerConnection,io.vertx.core.Promise)>(v, v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(java.lang.Runnable)>(v);
return;
}
public void handleInterestedOpsChanged()
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.http.impl.Http1xServerRequest v, v, v;
java.lang.Boolean v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.WebSocketImplBase v, v, v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: boolean isNotWritable()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean writable> = v;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.http.impl.Http1xServerResponse response()>();
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$handleWritabilityChanged__1452: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.Http1xServerResponse)>(v);
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.WebSocketImplBase webSocket>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.WebSocketImplBase webSocket>;
v = v.<io.vertx.core.http.impl.ServerWebSocketImpl: io.vertx.core.impl.ContextInternal context>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.WebSocketImplBase webSocket>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$handleWritabilityChanged__1451: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.ServerWebSocketImpl)>(v);
goto label;
label:
exitmonitor v;
label:
return;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: boolean writable>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(java.lang.Object,io.vertx.core.Handler)>(v, v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
void write100Continue()
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.DefaultFullHttpResponse v;
io.netty.handler.codec.http.HttpResponseStatus v;
io.vertx.core.http.impl.Http1xServerConnection v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.netty.channel.ChannelHandlerContext chctx>;
v = new io.netty.handler.codec.http.DefaultFullHttpResponse;
v = <io.netty.handler.codec.http.HttpVersion: io.netty.handler.codec.http.HttpVersion HTTP_1_1>;
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus CONTINUE>;
specialinvoke v.<io.netty.handler.codec.http.DefaultFullHttpResponse: void <init>(io.netty.handler.codec.http.HttpVersion,io.netty.handler.codec.http.HttpResponseStatus)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
return;
}
void write103EarlyHints(io.netty.handler.codec.http.HttpHeaders, io.vertx.core.impl.future.PromiseInternal)
{
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.handler.codec.http.HttpResponseStatus v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.netty.channel.ChannelFuture v;
io.netty.handler.codec.http.EmptyHttpHeaders v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.DefaultFullHttpResponse v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.netty.handler.codec.http.HttpHeaders;
v := @parameter: io.vertx.core.impl.future.PromiseInternal;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.netty.channel.ChannelHandlerContext chctx>;
v = new io.netty.handler.codec.http.DefaultFullHttpResponse;
v = <io.netty.handler.codec.http.HttpVersion: io.netty.handler.codec.http.HttpVersion HTTP_1_1>;
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus EARLY_HINTS>;
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf buffer(int)>(0);
v = <io.netty.handler.codec.http.EmptyHttpHeaders: io.netty.handler.codec.http.EmptyHttpHeaders INSTANCE>;
specialinvoke v.<io.netty.handler.codec.http.DefaultFullHttpResponse: void <init>(io.netty.handler.codec.http.HttpVersion,io.netty.handler.codec.http.HttpResponseStatus,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders,io.netty.handler.codec.http.HttpHeaders)>(v, v, v, v, v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
protected void handleClosed()
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v, v, v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerRequest v, v;
io.vertx.core.Handler v, v, v;
io.vertx.core.http.impl.WebSocketImplBase v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.WebSocketImplBase webSocket>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_handleClosed_6__1455: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.Http1xServerRequest)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(io.vertx.core.Handler)>(v);
label:
if v == null goto label;
if v == v goto label;
v = v.<io.vertx.core.http.impl.Http1xServerRequest: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_handleClosed_7__1454: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.Http1xServerRequest)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(io.vertx.core.Handler)>(v);
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.ServerWebSocketImpl: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_handleClosed_8__1453: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.ServerWebSocketImpl)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(io.vertx.core.Handler)>(v);
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void handleClosed()>();
return;
catch java.lang.Throwable from label to label with label;
}
protected void handleException(java.lang.Throwable)
{
java.lang.Throwable v, v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerRequest v, v;
io.vertx.core.spi.metrics.HttpServerMetrics v;
io.vertx.core.Handler v;
io.vertx.core.http.impl.WebSocketImplBase v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: java.lang.Throwable;
specialinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: void handleException(java.lang.Throwable)>(v);
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.WebSocketImplBase webSocket>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest requestInProgress>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.http.impl.Http1xServerRequest responseInProgress>;
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
if v == null goto label;
v.<io.vertx.core.http.impl.Http1xServerConnection: boolean requestFailed> = 1;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: void handleException(java.lang.Throwable)>(v);
label:
if v == null goto label;
if v == v goto label;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerRequest: void handleException(java.lang.Throwable)>(v);
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.ServerWebSocketImpl: io.vertx.core.impl.ContextInternal context>;
v = staticinvoke <io.vertx.core.http.impl.Http1xServerConnection$lambda_handleException_9__1456: io.vertx.core.Handler bootstrap$(io.vertx.core.http.impl.ServerWebSocketImpl,java.lang.Throwable)>(v, v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void execute(io.vertx.core.Handler)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected boolean supportsFileRegion()
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v, v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v = specialinvoke v.<io.vertx.core.http.impl.Http1xConnectionBase: boolean supportsFileRegion()>();
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.netty.channel.ChannelHandlerContext chctx>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPipeline pipeline()>();
v = interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelHandler get(java.lang.Class)>(class "Lio/vertx/core/http/impl/HttpChunkContentCompressor;");
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void handleError(io.netty.handler.codec.http.HttpObject)
{
java.lang.Throwable v;
io.netty.handler.codec.DecoderResult v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.netty.handler.codec.http.HttpObject v;
v := @this: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.netty.handler.codec.http.HttpObject;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpObject: io.netty.handler.codec.DecoderResult decoderResult()>();
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
v = virtualinvoke v.<io.netty.handler.codec.DecoderResult: java.lang.Throwable cause()>();
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void fail(java.lang.Throwable)>(v);
return;
}
static void <clinit>()
{
io.vertx.core.impl.logging.Logger v;
java.lang.Class v;
boolean v, v;
v = class "Lio/vertx/core/http/impl/Http1xServerConnection;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.vertx.core.http.impl.Http1xServerConnection: boolean $assertionsDisabled> = 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/Http1xServerConnection;");
<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.impl.logging.Logger log> = v;
return;
}
}