public class org.apache.dubbo.qos.server.handler.HttpProcessHandler extends io.netty.channel.SimpleChannelInboundHandler
{
private static final org.apache.dubbo.common.logger.Logger log;
private static org.apache.dubbo.qos.command.CommandExecutor commandExecutor;
public void <init>()
{
org.apache.dubbo.qos.server.handler.HttpProcessHandler v;
v := @this: org.apache.dubbo.qos.server.handler.HttpProcessHandler;
specialinvoke v.<io.netty.channel.SimpleChannelInboundHandler: void <init>()>();
return;
}
protected void channelRead0(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpRequest) throws java.lang.Exception
{
org.apache.dubbo.qos.command.CommandExecutor v;
io.netty.channel.ChannelHandlerContext v;
org.apache.dubbo.qos.command.NoSuchCommandException v;
org.apache.dubbo.qos.server.handler.HttpProcessHandler v;
io.netty.channel.ChannelFutureListener v, v, v, v;
java.lang.String v, v, v, v, v, v;
io.netty.handler.codec.http.HttpRequest v;
org.apache.dubbo.common.logger.Logger v, v, v;
org.apache.dubbo.qos.command.CommandContext v;
java.lang.Exception v;
io.netty.channel.ChannelFuture v, v, v, v;
io.netty.channel.Channel v;
io.netty.handler.codec.http.FullHttpResponse v, v, v, v;
v := @this: org.apache.dubbo.qos.server.handler.HttpProcessHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.HttpRequest;
v = staticinvoke <org.apache.dubbo.qos.command.decoder.HttpCommandDecoder: org.apache.dubbo.qos.command.CommandContext decode(io.netty.handler.codec.http.HttpRequest)>(v);
if v != null goto label;
v = <org.apache.dubbo.qos.server.handler.HttpProcessHandler: org.apache.dubbo.common.logger.Logger log>;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpRequest: java.lang.String getUri()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("can not found commandContext url: \u0001");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void warn(java.lang.String)>(v);
v = staticinvoke <org.apache.dubbo.qos.server.handler.HttpProcessHandler: io.netty.handler.codec.http.FullHttpResponse http404()>();
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
v = <io.netty.channel.ChannelFutureListener: io.netty.channel.ChannelFutureListener CLOSE>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
virtualinvoke v.<org.apache.dubbo.qos.command.CommandContext: void setRemote(io.netty.channel.Channel)>(v);
label:
v = <org.apache.dubbo.qos.server.handler.HttpProcessHandler: org.apache.dubbo.qos.command.CommandExecutor commandExecutor>;
v = interfaceinvoke v.<org.apache.dubbo.qos.command.CommandExecutor: java.lang.String execute(org.apache.dubbo.qos.command.CommandContext)>(v);
v = staticinvoke <org.apache.dubbo.qos.server.handler.HttpProcessHandler: io.netty.handler.codec.http.FullHttpResponse http200(java.lang.String)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
v = <io.netty.channel.ChannelFutureListener: io.netty.channel.ChannelFutureListener CLOSE>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.dubbo.qos.server.handler.HttpProcessHandler: org.apache.dubbo.common.logger.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.qos.command.CommandContext)>(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[])>("can not find commandContext: \u0001");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = staticinvoke <org.apache.dubbo.qos.server.handler.HttpProcessHandler: io.netty.handler.codec.http.FullHttpResponse http404()>();
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
v = <io.netty.channel.ChannelFutureListener: io.netty.channel.ChannelFutureListener CLOSE>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
v := @caughtexception;
v = <org.apache.dubbo.qos.server.handler.HttpProcessHandler: org.apache.dubbo.common.logger.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.qos.command.CommandContext)>(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[])>("execute commandContext: \u got exception");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = staticinvoke <org.apache.dubbo.qos.server.handler.HttpProcessHandler: io.netty.handler.codec.http.FullHttpResponse http500(java.lang.String)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
v = <io.netty.channel.ChannelFutureListener: io.netty.channel.ChannelFutureListener CLOSE>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
return;
catch org.apache.dubbo.qos.command.NoSuchCommandException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private static final io.netty.handler.codec.http.FullHttpResponse http200(java.lang.String)
{
byte[] v;
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpResponseStatus v;
java.lang.Integer v;
io.netty.buffer.ByteBuf v, v;
int v;
io.netty.handler.codec.http.DefaultFullHttpResponse v;
java.lang.String v;
v := @parameter: java.lang.String;
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 OK>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(byte[])>(v);
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)>(v, v, v);
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: io.netty.handler.codec.http.HttpHeaders headers()>();
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.String,java.lang.Object)>("Content-Type", "text/plain");
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: io.netty.buffer.ByteBuf content()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.String,java.lang.Object)>("Content-Length", v);
return v;
}
private static final io.netty.handler.codec.http.FullHttpResponse http404()
{
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v;
io.netty.buffer.ByteBuf v;
int v;
io.netty.handler.codec.http.DefaultFullHttpResponse v;
io.netty.handler.codec.http.HttpResponseStatus v;
java.lang.Integer v;
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 NOT_FOUND>;
specialinvoke v.<io.netty.handler.codec.http.DefaultFullHttpResponse: void <init>(io.netty.handler.codec.http.HttpVersion,io.netty.handler.codec.http.HttpResponseStatus)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: io.netty.handler.codec.http.HttpHeaders headers()>();
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.String,java.lang.Object)>("Content-Type", "text/plain");
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: io.netty.buffer.ByteBuf content()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.String,java.lang.Object)>("Content-Length", v);
return v;
}
private static final io.netty.handler.codec.http.FullHttpResponse http500(java.lang.String)
{
byte[] v;
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpResponseStatus v;
java.lang.Integer v;
io.netty.buffer.ByteBuf v, v;
int v;
io.netty.handler.codec.http.DefaultFullHttpResponse v;
java.lang.String v;
v := @parameter: java.lang.String;
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 INTERNAL_SERVER_ERROR>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(byte[])>(v);
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)>(v, v, v);
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: io.netty.handler.codec.http.HttpHeaders headers()>();
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.String,java.lang.Object)>("Content-Type", "text/plain");
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpResponse: io.netty.buffer.ByteBuf content()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.String,java.lang.Object)>("Content-Length", v);
return v;
}
static void <clinit>()
{
org.apache.dubbo.qos.command.DefaultCommandExecutor v;
org.apache.dubbo.common.logger.Logger v;
v = staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: org.apache.dubbo.common.logger.Logger getLogger(java.lang.Class)>(class "Lorg/apache/dubbo/qos/server/handler/HttpProcessHandler;");
<org.apache.dubbo.qos.server.handler.HttpProcessHandler: org.apache.dubbo.common.logger.Logger log> = v;
v = new org.apache.dubbo.qos.command.DefaultCommandExecutor;
specialinvoke v.<org.apache.dubbo.qos.command.DefaultCommandExecutor: void <init>()>();
<org.apache.dubbo.qos.server.handler.HttpProcessHandler: org.apache.dubbo.qos.command.CommandExecutor commandExecutor> = v;
return;
}
}