class org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory 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$ProxyV2ConnectionFactory
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
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 12
newarray 8
dup
iconst_0
1: bipush 13
bastore
dup
iconst_1
bipush 10
bastore
dup
iconst_2
bipush 13
bastore
dup
iconst_3
bipush 10
bastore
dup
iconst_5
bipush 13
bastore
dup
bipush 6
bipush 10
bastore
dup
bipush 7
bipush 81
bastore
dup
bipush 8
bipush 85
bastore
dup
bipush 9
bipush 73
bastore
dup
bipush 10
bipush 84
bastore
dup
bipush 11
bipush 10
bastore
2: putstatic org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory.SIGNATURE:[B
3: 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
sipush 1024
putfield org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory._maxProxyHeader:I
2: aload 0
aload 1
putfield org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory._nextProtocol:Ljava/lang/String;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/server/ProxyConnectionFactory$ProxyV2ConnectionFactory;
0 4 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 v2 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$ProxyV2ConnectionFactory.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 v2 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$ProxyV2ConnectionFactory.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 v2 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$ProxyV2ConnectionFactory.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 v2 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$ProxyV2ConnectionFactory;
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 int ();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory._maxProxyHeader:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/ProxyConnectionFactory$ProxyV2ConnectionFactory;
public void (int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory._maxProxyHeader:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/ProxyConnectionFactory$ProxyV2ConnectionFactory;
0 2 1 maxProxyHeader I
MethodParameters:
Name Flags
maxProxyHeader
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=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory._nextProtocol:Ljava/lang/String;
aload 1
aload 0
invokevirtual org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory.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$ProxyV2ConnectionFactory$ProxyProtocolV2Connection
dup
aload 0
aload 2
aload 1
aload 3
invokespecial org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory$ProxyProtocolV2Connection.<init>:(Lorg/eclipse/jetty/server/ProxyConnectionFactory$ProxyV2ConnectionFactory;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$ProxyV2ConnectionFactory.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$ProxyV2ConnectionFactory;
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 ProxyV2ConnectionFactory = org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory of org.eclipse.jetty.server.ProxyConnectionFactory
private final Family = org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory$Family of org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory
private ProxyProtocolV2Connection = org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory$ProxyProtocolV2Connection of org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory
private final Transport = org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory$Transport of org.eclipse.jetty.server.ProxyConnectionFactory$ProxyV2ConnectionFactory