class org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory extends org.eclipse.jetty.server.AbstractConnectionFactory implements org.eclipse.jetty.server.ConnectionFactory$Detecting
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory
super_class: org.eclipse.jetty.server.AbstractConnectionFactory
{
private static final byte[] SIGNATURE;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.String _nextProtocol;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "PROXY"
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
putstatic org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory.SIGNATURE:[B
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "proxy"
invokespecial org.eclipse.jetty.server.AbstractConnectionFactory.<init>:(Ljava/lang/String;)V
1: aload 0
aload 1
putfield org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory._nextProtocol:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/server/ProxyConnectionFactory$ProxyV1ConnectionFactory;
0 3 1 nextProtocol Ljava/lang/String;
MethodParameters:
Name Flags
nextProtocol
public org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection detect(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
ldc "Proxy v1 attempting detection with {} bytes"
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
getstatic org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory.SIGNATURE:[B
arraylength
if_icmpge 6
3: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 5
4: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
ldc "Proxy v1 detection requires more bytes"
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection.NEED_MORE_BYTES:Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
areturn
6: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 7: goto 15
8: StackMap locals: int
StackMap stack:
getstatic org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory.SIGNATURE:[B
iload 2
baload
istore 3
start local 3 9: aload 1
iload 2
invokevirtual java.nio.ByteBuffer.get:(I)B
istore 4
start local 4 10: iload 4
iload 3
if_icmpeq 14
11: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 13
12: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
ldc "Proxy v1 detection unsuccessful"
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
13: StackMap locals: int int
StackMap stack:
getstatic org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection.NOT_RECOGNIZED:Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
areturn
end local 4 end local 3 14: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
15: iload 2
getstatic org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory.SIGNATURE:[B
arraylength
if_icmplt 8
end local 2 16: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 18
17: getstatic org.eclipse.jetty.server.ProxyConnectionFactory.LOG:Lorg/slf4j/Logger;
ldc "Proxy v1 detection succeeded"
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection.RECOGNIZED:Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jetty/server/ProxyConnectionFactory$ProxyV1ConnectionFactory;
0 19 1 buffer Ljava/nio/ByteBuffer;
7 16 2 i I
9 14 3 signatureByte B
10 14 4 byteInBuffer B
MethodParameters:
Name Flags
buffer
public org.eclipse.jetty.io.Connection newConnection(org.eclipse.jetty.server.Connector, org.eclipse.jetty.io.EndPoint);
descriptor: (Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;)Lorg/eclipse/jetty/io/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory._nextProtocol:Ljava/lang/String;
aload 1
aload 0
invokevirtual org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory.getProtocol:()Ljava/lang/String;
aload 2
invokestatic org.eclipse.jetty.server.ProxyConnectionFactory.findNextConnectionFactory:(Ljava/lang/String;Lorg/eclipse/jetty/server/Connector;Ljava/lang/String;Lorg/eclipse/jetty/io/EndPoint;)Lorg/eclipse/jetty/server/ConnectionFactory;
astore 3
start local 3 1: aload 0
new org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory$ProxyProtocolV1Connection
dup
aload 2
aload 1
aload 3
invokespecial org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory$ProxyProtocolV1Connection.<init>:(Lorg/eclipse/jetty/io/EndPoint;Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/server/ConnectionFactory;)V
aload 1
aload 2
invokevirtual org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory.configure:(Lorg/eclipse/jetty/io/AbstractConnection;Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;)Lorg/eclipse/jetty/io/AbstractConnection;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/ProxyConnectionFactory$ProxyV1ConnectionFactory;
0 2 1 connector Lorg/eclipse/jetty/server/Connector;
0 2 2 endp Lorg/eclipse/jetty/io/EndPoint;
1 2 3 nextConnectionFactory Lorg/eclipse/jetty/server/ConnectionFactory;
MethodParameters:
Name Flags
connector
endp
}
SourceFile: "ProxyConnectionFactory.java"
NestHost: org.eclipse.jetty.server.ProxyConnectionFactory
InnerClasses:
public abstract Detecting = org.eclipse.jetty.server.ConnectionFactory$Detecting of org.eclipse.jetty.server.ConnectionFactory
public final Detection = org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection of org.eclipse.jetty.server.ConnectionFactory$Detecting
private ProxyV1ConnectionFactory = org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory of org.eclipse.jetty.server.ProxyConnectionFactory
private ProxyProtocolV1Connection = org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory$ProxyProtocolV1Connection of org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV1ConnectionFactory