final class jdk.incubator.http.Exchange<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.incubator.http.Exchange
super_class: java.lang.Object
{
final jdk.incubator.http.HttpRequestImpl request;
descriptor: Ljdk/incubator/http/HttpRequestImpl;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.HttpClientImpl client;
descriptor: Ljdk/incubator/http/HttpClientImpl;
flags: (0x0010) ACC_FINAL
volatile jdk.incubator.http.ExchangeImpl<T> exchImpl;
descriptor: Ljdk/incubator/http/ExchangeImpl;
flags: (0x0040) ACC_VOLATILE
Signature: Ljdk/incubator/http/ExchangeImpl<TT;>;
private volatile java.io.IOException failed;
descriptor: Ljava/io/IOException;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
final java.util.List<java.net.SocketPermission> permissions;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/net/SocketPermission;>;
final java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.MultiExchange<?, T> multi;
descriptor: Ljdk/incubator/http/MultiExchange;
flags: (0x0010) ACC_FINAL
Signature: Ljdk/incubator/http/MultiExchange<*TT;>;
final java.util.concurrent.Executor parentExecutor;
descriptor: Ljava/util/concurrent/Executor;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.HttpRequest$BodyProcessor requestProcessor;
descriptor: Ljdk/incubator/http/HttpRequest$BodyProcessor;
flags: (0x0010) ACC_FINAL
boolean upgrading;
descriptor: Z
flags: (0x0000)
final jdk.incubator.http.PushGroup<?, T> pushGroup;
descriptor: Ljdk/incubator/http/PushGroup;
flags: (0x0010) ACC_FINAL
Signature: Ljdk/incubator/http/PushGroup<*TT;>;
static final java.net.SocketPermission[] SOCKET_ARRAY;
descriptor: [Ljava/net/SocketPermission;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/incubator/http/Exchange;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.incubator.http.Exchange.$assertionsDisabled:Z
3: iconst_0
anewarray java.net.SocketPermission
putstatic jdk.incubator.http.Exchange.SOCKET_ARRAY:[Ljava/net/SocketPermission;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.incubator.http.HttpRequestImpl, jdk.incubator.http.MultiExchange<?, T>);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/MultiExchange;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
2: aload 0
aload 1
putfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
3: aload 0
iconst_0
putfield jdk.incubator.http.Exchange.upgrading:Z
4: aload 0
aload 2
invokevirtual jdk.incubator.http.MultiExchange.client:()Ljdk/incubator/http/HttpClientImpl;
putfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
5: aload 0
aload 2
putfield jdk.incubator.http.Exchange.multi:Ljdk/incubator/http/MultiExchange;
6: aload 0
aload 2
getfield jdk.incubator.http.MultiExchange.acc:Ljava/security/AccessControlContext;
putfield jdk.incubator.http.Exchange.acc:Ljava/security/AccessControlContext;
7: aload 0
aload 2
getfield jdk.incubator.http.MultiExchange.executor:Ljava/util/concurrent/Executor;
putfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
8: aload 0
aload 1
getfield jdk.incubator.http.HttpRequestImpl.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
putfield jdk.incubator.http.Exchange.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
9: aload 0
aload 2
getfield jdk.incubator.http.MultiExchange.pushGroup:Ljdk/incubator/http/PushGroup;
putfield jdk.incubator.http.Exchange.pushGroup:Ljdk/incubator/http/PushGroup;
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/http/Exchange<TT;>;
0 11 1 request Ljdk/incubator/http/HttpRequestImpl;
0 11 2 multi Ljdk/incubator/http/MultiExchange<*TT;>;
Signature: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/MultiExchange<*TT;>;)V
MethodParameters:
Name Flags
request
multi
void <init>(jdk.incubator.http.HttpRequestImpl, jdk.incubator.http.MultiExchange<?, T>, java.security.AccessControlContext);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/MultiExchange;Ljava/security/AccessControlContext;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
2: aload 0
aload 1
putfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
3: aload 0
aload 3
putfield jdk.incubator.http.Exchange.acc:Ljava/security/AccessControlContext;
4: aload 0
iconst_0
putfield jdk.incubator.http.Exchange.upgrading:Z
5: aload 0
aload 2
invokevirtual jdk.incubator.http.MultiExchange.client:()Ljdk/incubator/http/HttpClientImpl;
putfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
6: aload 0
aload 2
putfield jdk.incubator.http.Exchange.multi:Ljdk/incubator/http/MultiExchange;
7: aload 0
aload 2
getfield jdk.incubator.http.MultiExchange.executor:Ljava/util/concurrent/Executor;
putfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
8: aload 0
aload 1
getfield jdk.incubator.http.HttpRequestImpl.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
putfield jdk.incubator.http.Exchange.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
9: aload 0
aload 2
getfield jdk.incubator.http.MultiExchange.pushGroup:Ljdk/incubator/http/PushGroup;
putfield jdk.incubator.http.Exchange.pushGroup:Ljdk/incubator/http/PushGroup;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/http/Exchange<TT;>;
0 11 1 request Ljdk/incubator/http/HttpRequestImpl;
0 11 2 multi Ljdk/incubator/http/MultiExchange<*TT;>;
0 11 3 acc Ljava/security/AccessControlContext;
Signature: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/MultiExchange<*TT;>;Ljava/security/AccessControlContext;)V
MethodParameters:
Name Flags
request
multi
acc
jdk.incubator.http.PushGroup<?, T> getPushGroup();
descriptor: ()Ljdk/incubator/http/PushGroup;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.pushGroup:Ljdk/incubator/http/PushGroup;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
Signature: ()Ljdk/incubator/http/PushGroup<*TT;>;
java.util.concurrent.Executor executor();
descriptor: ()Ljava/util/concurrent/Executor;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
public jdk.incubator.http.HttpRequestImpl request();
descriptor: ()Ljdk/incubator/http/HttpRequestImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
jdk.incubator.http.HttpClientImpl client();
descriptor: ()Ljdk/incubator/http/HttpClientImpl;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
public jdk.incubator.http.Response response();
descriptor: ()Ljdk/incubator/http/Response;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual jdk.incubator.http.Exchange.responseImpl:(Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/Response;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
public T readBody(jdk.incubator.http.HttpResponse$BodyHandler<T>);
descriptor: (Ljdk/incubator/http/HttpResponse$BodyHandler;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
aload 1
aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.isWebSocket:()Z
ifeq 1
iconst_0
goto 2
StackMap locals: jdk.incubator.http.Exchange jdk.incubator.http.HttpResponse$BodyHandler
StackMap stack: jdk.incubator.http.ExchangeImpl jdk.incubator.http.HttpResponse$BodyHandler
1: iconst_1
StackMap locals: jdk.incubator.http.Exchange jdk.incubator.http.HttpResponse$BodyHandler
StackMap stack: jdk.incubator.http.ExchangeImpl jdk.incubator.http.HttpResponse$BodyHandler int
2: invokevirtual jdk.incubator.http.ExchangeImpl.readBody:(Ljdk/incubator/http/HttpResponse$BodyHandler;Z)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/Exchange<TT;>;
0 3 1 responseHandler Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
Exceptions:
throws java.io.IOException
Signature: (Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;)TT;
MethodParameters:
Name Flags
responseHandler
public java.util.concurrent.CompletableFuture<T> readBodyAsync(jdk.incubator.http.HttpResponse$BodyHandler<T>);
descriptor: (Ljdk/incubator/http/HttpResponse$BodyHandler;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
aload 1
aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.isWebSocket:()Z
ifeq 1
iconst_0
goto 2
StackMap locals: jdk.incubator.http.Exchange jdk.incubator.http.HttpResponse$BodyHandler
StackMap stack: jdk.incubator.http.ExchangeImpl jdk.incubator.http.HttpResponse$BodyHandler
1: iconst_1
StackMap locals: jdk.incubator.http.Exchange jdk.incubator.http.HttpResponse$BodyHandler
StackMap stack: jdk.incubator.http.ExchangeImpl jdk.incubator.http.HttpResponse$BodyHandler int
2: aload 0
getfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.ExchangeImpl.readBodyAsync:(Ljdk/incubator/http/HttpResponse$BodyHandler;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/Exchange<TT;>;
0 3 1 handler Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
Signature: (Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
handler
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
ifnull 3
1: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.cancel:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
new java.io.IOException
dup
ldc "Request cancelled"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokevirtual jdk.incubator.http.Exchange.cancel:(Ljava/io/IOException;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Exchange<TT;>;
public void cancel(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 2
aload 1
invokevirtual jdk.incubator.http.ExchangeImpl.cancel:(Ljava/io/IOException;)V
3: goto 9
4: StackMap locals: jdk.incubator.http.ExchangeImpl
StackMap stack:
aload 0
aload 1
putfield jdk.incubator.http.Exchange.failed:Ljava/io/IOException;
5: aload 0
iconst_0
invokevirtual jdk.incubator.http.Exchange.checkCancelled:(Z)V
6: goto 9
StackMap locals:
StackMap stack: java.io.IOException
7: astore 3
start local 3 8: new java.io.UncheckedIOException
dup
aload 3
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/incubator/http/Exchange<TT;>;
0 10 1 cause Ljava/io/IOException;
1 10 2 impl Ljdk/incubator/http/ExchangeImpl<*>;
8 9 3 x Ljava/io/IOException;
Exception table:
from to target type
4 6 7 Class java.io.IOException
MethodParameters:
Name Flags
cause
private void checkCancelled(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
getfield jdk.incubator.http.Exchange.failed:Ljava/io/IOException;
ifnull 12
3: aload 0
dup
astore 4
monitorenter
4: aload 0
getfield jdk.incubator.http.Exchange.failed:Ljava/io/IOException;
astore 3
5: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
astore 2
6: iload 1
ifne 7
aload 2
ifnull 8
7: StackMap locals: jdk.incubator.http.ExchangeImpl java.io.IOException jdk.incubator.http.Exchange
StackMap stack:
aload 0
aconst_null
putfield jdk.incubator.http.Exchange.failed:Ljava/io/IOException;
8: StackMap locals:
StackMap stack:
aload 4
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 4
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 3
ifnonnull 13
return
13: StackMap locals:
StackMap stack:
aload 2
ifnull 16
14: aload 2
aload 3
invokevirtual jdk.incubator.http.ExchangeImpl.cancel:(Ljava/io/IOException;)V
15: goto 27
StackMap locals:
StackMap stack:
16: iload 1
ifeq 18
17: aload 3
athrow
18: StackMap locals:
StackMap stack:
ldc "Exchange: request [{0}/timeout={1}ms] no impl is set.\n\tCan''t cancel yet with {2}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
19: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.uri:()Ljava/net/URI;
aastore
dup
iconst_1
20: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.duration:()Ljava/time/Duration;
ifnonnull 21
ldc -1
goto 24
21: StackMap locals: jdk.incubator.http.Exchange int jdk.incubator.http.ExchangeImpl java.io.IOException
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.duration:()Ljava/time/Duration;
invokevirtual java.time.Duration.getSeconds:()J
ldc 1000
lmul
22: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.duration:()Ljava/time/Duration;
invokevirtual java.time.Duration.getNano:()I
ldc 1000000
idiv
i2l
23: ladd
24: StackMap locals: jdk.incubator.http.Exchange int jdk.incubator.http.ExchangeImpl java.io.IOException
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int long
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
25: aload 3
aastore
26: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
27: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/incubator/http/Exchange<TT;>;
0 28 1 throwIfNoImpl Z
1 28 2 impl Ljdk/incubator/http/ExchangeImpl<*>;
2 28 3 cause Ljava/io/IOException;
Exception table:
from to target type
4 9 10 any
10 11 10 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
throwIfNoImpl
public void h2Upgrade();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.incubator.http.Exchange.upgrading:Z
1: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
aload 0
getfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.client2:()Ljdk/incubator/http/Http2ClientImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.setH2Upgrade:(Ljdk/incubator/http/Http2ClientImpl;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/Exchange<TT;>;
jdk.incubator.http.Response responseImpl(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/Response;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.incubator.http.Exchange.acc:Ljava/security/AccessControlContext;
invokevirtual jdk.incubator.http.Exchange.securityCheck:(Ljava/security/AccessControlContext;)Ljava/lang/SecurityException;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
athrow
3: StackMap locals: java.lang.SecurityException
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 15
4: aload 0
aload 1
invokedynamic run(Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpConnection;)Ljava/security/PrivilegedExceptionAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$0(Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/Response; (7)
()Ljdk/incubator/http/Response;
5: aconst_null
6: aload 0
getfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
getstatic jdk.incubator.http.Exchange.SOCKET_ARRAY:[Ljava/net/SocketPermission;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.Permission[]
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
checkcast jdk.incubator.http.Response
8: areturn
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 10: aload 3
instanceof java.security.PrivilegedActionException
ifeq 12
11: aload 3
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 3
12: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
instanceof java.io.IOException
ifeq 14
13: aload 3
checkcast java.io.IOException
athrow
14: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 15: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Exchange.responseImpl0:(Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/Response;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/incubator/http/Exchange<TT;>;
0 16 1 connection Ljdk/incubator/http/HttpConnection;
1 16 2 e Ljava/lang/SecurityException;
10 15 3 ee Ljava/lang/Throwable;
Exception table:
from to target type
4 8 9 Class java.lang.Throwable
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
connection
private void establishExchange(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpConnection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokevirtual jdk.incubator.http.Exchange.checkCancelled:(Z)V
1: aload 0
aload 0
aload 1
invokestatic jdk.incubator.http.ExchangeImpl.get:(Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/ExchangeImpl;
putfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
2: aload 0
iconst_1
invokevirtual jdk.incubator.http.Exchange.checkCancelled:(Z)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Exchange<TT;>;
0 4 1 connection Ljdk/incubator/http/HttpConnection;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
connection
private jdk.incubator.http.Response responseImpl0(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/Response;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.incubator.http.Exchange.establishExchange:(Ljdk/incubator/http/HttpConnection;)V
1: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
aload 0
getfield jdk.incubator.http.Exchange.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
invokevirtual jdk.incubator.http.ExchangeImpl.setClientForRequest:(Ljdk/incubator/http/HttpRequest$BodyProcessor;)V
2: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.expectContinue:()Z
ifeq 25
3: ldc "Sending Expect: 100-Continue"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
ldc "Expect"
ldc "100-Continue"
invokevirtual jdk.incubator.http.HttpRequestImpl.addSystemHeader:(Ljava/lang/String;Ljava/lang/String;)V
5: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.sendHeadersOnly:()V
6: ldc "Waiting for 407-Expectation-Failed or 100-Continue"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
7: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.getResponse:()Ljdk/incubator/http/Response;
astore 2
start local 2 8: aload 2
invokestatic jdk.incubator.http.HttpResponseImpl.logResponse:(Ljdk/incubator/http/Response;)V
9: aload 2
invokevirtual jdk.incubator.http.Response.statusCode:()I
istore 3
start local 3 10: iload 3
bipush 100
if_icmpeq 19
11: ldc "Expectation failed: Received {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
12: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
13: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
14: aload 0
getfield jdk.incubator.http.Exchange.upgrading:Z
ifeq 18
iload 3
bipush 101
if_icmpne 18
15: new java.io.IOException
dup
16: ldc "Unable to handle 101 while waiting for 100-Continue"
17: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: jdk.incubator.http.Response int
StackMap stack:
aload 2
areturn
19: StackMap locals:
StackMap stack:
ldc "Received 100-Continue: sending body"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
20: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.sendBody:()V
21: ldc "Body sent: waiting for response"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
22: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.getResponse:()Ljdk/incubator/http/Response;
astore 2
23: aload 2
invokestatic jdk.incubator.http.HttpResponseImpl.logResponse:(Ljdk/incubator/http/Response;)V
24: aload 0
aload 2
aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.Exchange.checkForUpgrade:(Ljdk/incubator/http/Response;Ljdk/incubator/http/ExchangeImpl;)Ljdk/incubator/http/Response;
areturn
end local 3 end local 2 25: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.sendHeadersOnly:()V
26: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.sendBody:()V
27: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.getResponse:()Ljdk/incubator/http/Response;
astore 2
start local 2 28: aload 2
invokestatic jdk.incubator.http.HttpResponseImpl.logResponse:(Ljdk/incubator/http/Response;)V
29: aload 0
aload 2
aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.Exchange.checkForUpgrade:(Ljdk/incubator/http/Response;Ljdk/incubator/http/ExchangeImpl;)Ljdk/incubator/http/Response;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljdk/incubator/http/Exchange<TT;>;
0 30 1 connection Ljdk/incubator/http/HttpConnection;
8 25 2 resp Ljdk/incubator/http/Response;
10 25 3 rcode I
28 30 2 resp Ljdk/incubator/http/Response;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
connection
public java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> responseAsync();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual jdk.incubator.http.Exchange.responseAsyncImpl:(Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> responseAsyncImpl(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.incubator.http.Exchange.acc:Ljava/security/AccessControlContext;
invokevirtual jdk.incubator.http.Exchange.securityCheck:(Ljava/security/AccessControlContext;)Ljava/lang/SecurityException;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
invokestatic jdk.incubator.http.internal.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
areturn
3: StackMap locals: java.lang.SecurityException
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 8
4: aload 0
aload 1
invokedynamic run(Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpConnection;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$1(Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture; (7)
()Ljava/util/concurrent/CompletableFuture;
5: aconst_null
6: aload 0
getfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
getstatic jdk.incubator.http.Exchange.SOCKET_ARRAY:[Ljava/net/SocketPermission;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.Permission[]
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
checkcast java.util.concurrent.CompletableFuture
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Exchange.responseAsyncImpl0:(Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/Exchange<TT;>;
0 9 1 connection Ljdk/incubator/http/HttpConnection;
1 9 2 e Ljava/lang/SecurityException;
Signature: (Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
MethodParameters:
Name Flags
connection
java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> responseAsyncImpl0(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.incubator.http.Exchange.establishExchange:(Ljdk/incubator/http/HttpConnection;)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 2
start local 2 3: aload 2
invokestatic jdk.incubator.http.internal.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.expectContinue:()Z
ifeq 12
5: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
ldc "Expect"
ldc "100-Continue"
invokevirtual jdk.incubator.http.HttpRequestImpl.addSystemHeader:(Ljava/lang/String;Ljava/lang/String;)V
6: ldc "Sending Expect: 100-Continue"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
7: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
8: invokevirtual jdk.incubator.http.ExchangeImpl.sendHeadersAsync:()Ljava/util/concurrent/CompletableFuture;
9: aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$2(Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage; (7)
(Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
10: aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$3(Ljdk/incubator/http/Response;)Ljava/util/concurrent/CompletionStage; (7)
(Ljdk/incubator/http/Response;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
11: areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
13: invokevirtual jdk.incubator.http.ExchangeImpl.sendHeadersAsync:()Ljava/util/concurrent/CompletableFuture;
14: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/ExchangeImpl.sendBodyAsync()Ljava/util/concurrent/CompletableFuture; (5)
(Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
15: aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$8(Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage; (7)
(Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
16: astore 2
start local 2 17: aload 0
aload 2
invokevirtual jdk.incubator.http.Exchange.wrapForUpgrade:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
astore 2
18: aload 0
aload 2
invokevirtual jdk.incubator.http.Exchange.wrapForLog:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
astore 2
19: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/incubator/http/Exchange<TT;>;
0 20 1 connection Ljdk/incubator/http/HttpConnection;
3 4 2 e Ljava/lang/Exception;
17 20 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.InterruptedException
Signature: (Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
MethodParameters:
Name Flags
connection
private java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> wrapForUpgrade(java.util.concurrent.CompletableFuture<jdk.incubator.http.Response>);
descriptor: (Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Exchange.upgrading:Z
ifeq 2
1: aload 1
aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$9(Ljdk/incubator/http/Response;)Ljava/util/concurrent/CompletionStage; (7)
(Ljdk/incubator/http/Response;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/Exchange<TT;>;
0 3 1 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
Signature: (Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
MethodParameters:
Name Flags
cf
private java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> wrapForLog(java.util.concurrent.CompletableFuture<jdk.incubator.http.Response>);
descriptor: (Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jdk.incubator.http.internal.common.Log.requests:()Z
ifeq 2
1: aload 1
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$10(Ljdk/incubator/http/Response;)Ljdk/incubator/http/Response; (6)
(Ljdk/incubator/http/Response;)Ljdk/incubator/http/Response;
invokevirtual java.util.concurrent.CompletableFuture.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/Exchange<TT;>;
0 3 1 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
Signature: (Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
MethodParameters:
Name Flags
cf
jdk.incubator.http.HttpResponse$BodyProcessor<T> ignoreBody(int, jdk.incubator.http.HttpHeaders);
descriptor: (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
flags: (0x0000)
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
invokestatic jdk.incubator.http.HttpResponse$BodyProcessor.discard:(Ljava/lang/Object;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
0 1 1 status I
0 1 2 hdrs Ljdk/incubator/http/HttpHeaders;
Signature: (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;
MethodParameters:
Name Flags
status
hdrs
private java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> checkForUpgradeAsync(jdk.incubator.http.Response, jdk.incubator.http.ExchangeImpl<T>);
descriptor: (Ljdk/incubator/http/Response;Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.incubator.http.Response.statusCode:()I
istore 3
start local 3 1: aload 0
getfield jdk.incubator.http.Exchange.upgrading:Z
ifeq 6
iload 3
bipush 101
if_icmpne 6
2: aload 2
checkcast jdk.incubator.http.Http1Exchange
astore 4
start local 4 3: aload 4
aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/HttpResponse$BodyHandler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
jdk/incubator/http/Exchange.ignoreBody(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor; (5)
(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
iconst_0
aload 0
getfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.Http1Exchange.readBodyAsync:(Ljdk/incubator/http/HttpResponse$BodyHandler;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
4: aload 0
aload 4
invokedynamic apply(Ljdk/incubator/http/Exchange;Ljdk/incubator/http/Http1Exchange;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$12(Ljdk/incubator/http/Http1Exchange;Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage; (7)
(Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
5: areturn
end local 4 6: StackMap locals: int
StackMap stack:
aload 1
invokestatic jdk.incubator.http.internal.common.MinimalFuture.completedFuture:(Ljava/lang/Object;)Ljdk/incubator/http/internal/common/MinimalFuture;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/Exchange<TT;>;
0 7 1 resp Ljdk/incubator/http/Response;
0 7 2 ex Ljdk/incubator/http/ExchangeImpl<TT;>;
1 7 3 rcode I
3 6 4 e Ljdk/incubator/http/Http1Exchange<TT;>;
Signature: (Ljdk/incubator/http/Response;Ljdk/incubator/http/ExchangeImpl<TT;>;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
MethodParameters:
Name Flags
resp
ex
private jdk.incubator.http.Response checkForUpgrade(jdk.incubator.http.Response, jdk.incubator.http.ExchangeImpl<T>);
descriptor: (Ljdk/incubator/http/Response;Ljdk/incubator/http/ExchangeImpl;)Ljdk/incubator/http/Response;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.incubator.http.Response.statusCode:()I
istore 3
start local 3 1: aload 0
getfield jdk.incubator.http.Exchange.upgrading:Z
ifeq 14
iload 3
bipush 101
if_icmpne 14
2: aload 2
checkcast jdk.incubator.http.Http1Exchange
astore 4
start local 4 3: aload 4
aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/HttpResponse$BodyHandler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
jdk/incubator/http/Exchange.ignoreBody(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor; (5)
(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
iconst_0
invokevirtual jdk.incubator.http.Http1Exchange.readBody:(Ljdk/incubator/http/HttpResponse$BodyHandler;Z)Ljava/lang/Object;
pop
4: new jdk.incubator.http.Http2Connection
dup
aload 4
invokevirtual jdk.incubator.http.Http1Exchange.connection:()Ljdk/incubator/http/HttpConnection;
5: aload 0
getfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.client2:()Ljdk/incubator/http/Http2ClientImpl;
6: aload 0
aload 4
invokevirtual jdk.incubator.http.Http1Exchange.getBuffer:()Ljava/nio/ByteBuffer;
7: invokespecial jdk.incubator.http.Http2Connection.<init>:(Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/nio/ByteBuffer;)V
astore 6
start local 6 8: aload 6
invokevirtual jdk.incubator.http.Http2Connection.putConnection:()V
9: aload 6
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.getStream:(I)Ljdk/incubator/http/Stream;
astore 7
start local 7 10: aload 0
aload 7
putfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
11: aload 7
invokevirtual jdk.incubator.http.Stream.getResponse:()Ljdk/incubator/http/Response;
astore 8
start local 8 12: aload 8
invokestatic jdk.incubator.http.HttpResponseImpl.logResponse:(Ljdk/incubator/http/Response;)V
13: aload 8
areturn
end local 8 end local 7 end local 6 end local 4 14: StackMap locals: int
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/incubator/http/Exchange<TT;>;
0 15 1 resp Ljdk/incubator/http/Response;
0 15 2 ex Ljdk/incubator/http/ExchangeImpl<TT;>;
1 15 3 rcode I
3 14 4 e Ljdk/incubator/http/Http1Exchange<TT;>;
8 14 6 h2con Ljdk/incubator/http/Http2Connection;
10 14 7 s Ljdk/incubator/http/Stream<TT;>;
12 14 8 xx Ljdk/incubator/http/Response;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
Signature: (Ljdk/incubator/http/Response;Ljdk/incubator/http/ExchangeImpl<TT;>;)Ljdk/incubator/http/Response;
MethodParameters:
Name Flags
resp
ex
private java.net.URI getURIForSecurityCheck();
descriptor: ()Ljava/net/URI;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=6, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.method:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.authority:()Ljava/net/InetSocketAddress;
astore 3
start local 3 2: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.uri:()Ljava/net/URI;
astore 4
start local 4 3: aload 2
ldc "CONNECT"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 15
4: new java.net.URI
dup
ldc "socket"
5: aconst_null
6: aload 3
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
7: aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
8: aconst_null
9: aconst_null
10: aconst_null
11: invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 1
start local 1 12: goto 16
end local 1 StackMap locals: jdk.incubator.http.Exchange top java.lang.String java.net.InetSocketAddress java.net.URI
StackMap stack: java.net.URISyntaxException
13: astore 5
start local 5 14: new java.lang.InternalError
dup
aload 5
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 15: StackMap locals:
StackMap stack:
aload 4
astore 1
start local 1 16: StackMap locals: jdk.incubator.http.Exchange java.net.URI java.lang.String java.net.InetSocketAddress java.net.URI
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/incubator/http/Exchange<TT;>;
12 13 1 u Ljava/net/URI;
16 17 1 u Ljava/net/URI;
1 17 2 method Ljava/lang/String;
2 17 3 authority Ljava/net/InetSocketAddress;
3 17 4 uri Ljava/net/URI;
14 15 5 e Ljava/net/URISyntaxException;
Exception table:
from to target type
4 12 13 Class java.net.URISyntaxException
private java.lang.SecurityException securityCheck(java.security.AccessControlContext);
descriptor: (Ljava/security/AccessControlContext;)Ljava/lang/SecurityException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.method:()Ljava/lang/String;
astore 3
start local 3 4: aload 0
getfield jdk.incubator.http.Exchange.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.getUserHeaders:()Ljdk/incubator/http/HttpHeaders;
astore 4
start local 4 5: aload 0
invokevirtual jdk.incubator.http.Exchange.getURIForSecurityCheck:()Ljava/net/URI;
astore 5
start local 5 6: aload 5
aload 3
aload 4
invokeinterface jdk.incubator.http.HttpHeaders.map:()Ljava/util/Map;
invokestatic jdk.incubator.http.internal.common.Utils.getPermission:(Ljava/net/URI;Ljava/lang/String;Ljava/util/Map;)Ljava/net/URLPermission;
astore 6
start local 6 7: getstatic jdk.incubator.http.Exchange.$assertionsDisabled:Z
ifne 8
aload 1
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: jdk.incubator.http.Exchange java.security.AccessControlContext java.lang.SecurityManager java.lang.String jdk.incubator.http.HttpHeaders java.net.URI java.net.URLPermission
StackMap stack:
aload 2
aload 6
aload 1
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;Ljava/lang/Object;)V
9: aload 0
getfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
aload 5
invokestatic jdk.incubator.http.Exchange.getSocketPermissionFor:(Ljava/net/URI;)Ljava/net/SocketPermission;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: goto 13
StackMap locals:
StackMap stack: java.lang.SecurityException
11: astore 7
start local 7 12: aload 7
areturn
end local 7 13: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.proxy:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.ProxySelector
astore 7
start local 7 14: aload 7
ifnull 34
15: aload 7
aload 5
invokevirtual java.net.ProxySelector.select:(Ljava/net/URI;)Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.net.Proxy
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
16: checkcast java.net.InetSocketAddress
astore 8
start local 8 17: aload 3
ldc "CONNECT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
18: new java.net.URI
dup
ldc "socket"
aconst_null
aload 8
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
19: aload 8
invokevirtual java.net.InetSocketAddress.getPort:()I
aconst_null
aconst_null
aconst_null
20: invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 5
21: goto 24
StackMap locals: jdk.incubator.http.Exchange java.security.AccessControlContext java.lang.SecurityManager java.lang.String jdk.incubator.http.HttpHeaders java.net.URI java.net.URLPermission java.net.ProxySelector java.net.InetSocketAddress
StackMap stack: java.net.URISyntaxException
22: astore 9
start local 9 23: new java.lang.InternalError
dup
aload 9
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 9 24: StackMap locals:
StackMap stack:
new java.net.URLPermission
dup
aload 5
invokevirtual java.net.URI.toString:()Ljava/lang/String;
ldc "CONNECT"
invokespecial java.net.URLPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 6
25: aload 2
aload 6
aload 1
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;Ljava/lang/Object;)V
26: goto 30
StackMap locals:
StackMap stack: java.lang.SecurityException
27: astore 9
start local 9 28: aload 0
getfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
invokeinterface java.util.List.clear:()V
29: aload 9
areturn
end local 9 30: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 8
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 33: aload 0
getfield jdk.incubator.http.Exchange.permissions:Ljava/util/List;
new java.net.SocketPermission
dup
aload 9
ldc "connect,resolve"
invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 34: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljdk/incubator/http/Exchange<TT;>;
0 35 1 acc Ljava/security/AccessControlContext;
1 35 2 sm Ljava/lang/SecurityManager;
4 35 3 method Ljava/lang/String;
5 35 4 userHeaders Ljdk/incubator/http/HttpHeaders;
6 35 5 u Ljava/net/URI;
7 35 6 p Ljava/net/URLPermission;
12 13 7 e Ljava/lang/SecurityException;
14 35 7 ps Ljava/net/ProxySelector;
17 34 8 proxy Ljava/net/InetSocketAddress;
23 24 9 e Ljava/net/URISyntaxException;
28 30 9 e Ljava/lang/SecurityException;
33 34 9 sockperm Ljava/lang/String;
Exception table:
from to target type
7 10 11 Class java.lang.SecurityException
18 21 22 Class java.net.URISyntaxException
25 26 27 Class java.lang.SecurityException
MethodParameters:
Name Flags
acc
jdk.incubator.http.HttpClient$Redirect followRedirects();
descriptor: ()Ljdk/incubator/http/HttpClient$Redirect;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.followRedirects:()Ljdk/incubator/http/HttpClient$Redirect;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
jdk.incubator.http.HttpClient$Version version();
descriptor: ()Ljdk/incubator/http/HttpClient$Version;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.multi:Ljdk/incubator/http/MultiExchange;
invokevirtual jdk.incubator.http.MultiExchange.version:()Ljdk/incubator/http/HttpClient$Version;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
private static java.net.SocketPermission getSocketPermissionFor(java.net.URI);
descriptor: (Ljava/net/URI;)Ljava/net/SocketPermission;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 3: aload 0
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
invokevirtual java.net.URI.getPort:()I
istore 3
start local 3 6: iload 3
iconst_m1
if_icmpne 13
7: aload 0
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
astore 4
start local 4 8: ldc "http"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 1
ldc ":80"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 15
11: StackMap locals: java.net.URI java.lang.StringBuilder java.lang.String int java.lang.String
StackMap stack:
aload 1
ldc ":443"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 12: goto 15
13: StackMap locals:
StackMap stack:
aload 1
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
14: iload 3
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 16: new java.net.SocketPermission
dup
aload 4
ldc "connect"
invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 url Ljava/net/URI;
3 17 1 sb Ljava/lang/StringBuilder;
4 17 2 host Ljava/lang/String;
6 17 3 port I
8 12 4 scheme Ljava/lang/String;
16 17 4 target Ljava/lang/String;
MethodParameters:
Name Flags
url
java.security.AccessControlContext getAccessControlContext();
descriptor: ()Ljava/security/AccessControlContext;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Exchange.acc:Ljava/security/AccessControlContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
private jdk.incubator.http.Response lambda$0(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/Response;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
invokevirtual jdk.incubator.http.Exchange.responseImpl0:(Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/Response;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
Exceptions:
throws java.lang.Exception
private java.util.concurrent.CompletableFuture lambda$1(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
invokevirtual jdk.incubator.http.Exchange.responseAsyncImpl0:(Ljdk/incubator/http/HttpConnection;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
private java.util.concurrent.CompletionStage lambda$2(jdk.incubator.http.ExchangeImpl);
descriptor: (Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
aload 0
getfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.ExchangeImpl.getResponseAsync:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
0 1 1 v Ljdk/incubator/http/ExchangeImpl<TT;>;
private java.util.concurrent.CompletionStage lambda$3(jdk.incubator.http.Response);
descriptor: (Ljdk/incubator/http/Response;)Ljava/util/concurrent/CompletionStage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.incubator.http.HttpResponseImpl.logResponse:(Ljdk/incubator/http/Response;)V
1: aload 1
invokevirtual jdk.incubator.http.Response.statusCode:()I
istore 2
start local 2 2: iload 2
bipush 100
if_icmpne 10
3: ldc "Received 100-Continue: sending body"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.ExchangeImpl.sendBodyAsync:()Ljava/util/concurrent/CompletableFuture;
5: aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$4(Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage; (7)
(Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
6: astore 3
start local 3 7: aload 0
aload 3
invokevirtual jdk.incubator.http.Exchange.wrapForUpgrade:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
astore 3
8: aload 0
aload 3
invokevirtual jdk.incubator.http.Exchange.wrapForLog:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
astore 3
9: aload 3
areturn
end local 3 10: StackMap locals: int
StackMap stack:
ldc "Expectation failed: Received {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
11: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
12: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
13: aload 0
getfield jdk.incubator.http.Exchange.upgrading:Z
ifeq 18
iload 2
bipush 101
if_icmpne 18
14: new java.io.IOException
dup
15: ldc "Unable to handle 101 while waiting for 100"
16: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 17: aload 3
invokestatic jdk.incubator.http.internal.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 3 18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/HttpResponse$BodyHandler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
jdk/incubator/http/Exchange.ignoreBody(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor; (5)
(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
iconst_0
aload 0
getfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.ExchangeImpl.readBodyAsync:(Ljdk/incubator/http/HttpResponse$BodyHandler;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
19: aload 1
invokedynamic apply(Ljdk/incubator/http/Response;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$6(Ljdk/incubator/http/Response;Ljava/lang/Object;)Ljdk/incubator/http/Response; (6)
(Ljava/lang/Object;)Ljdk/incubator/http/Response;
invokevirtual java.util.concurrent.CompletableFuture.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
20: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/incubator/http/Exchange<TT;>;
0 21 1 r1 Ljdk/incubator/http/Response;
2 21 2 rcode I
7 10 3 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
17 18 3 failed Ljava/io/IOException;
private java.util.concurrent.CompletionStage lambda$8(jdk.incubator.http.ExchangeImpl);
descriptor: (Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.ExchangeImpl.getResponseAsync:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
0 1 1 exIm Ljdk/incubator/http/ExchangeImpl<TT;>;
private java.util.concurrent.CompletionStage lambda$9(jdk.incubator.http.Response);
descriptor: (Ljdk/incubator/http/Response;)Ljava/util/concurrent/CompletionStage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
invokevirtual jdk.incubator.http.Exchange.checkForUpgradeAsync:(Ljdk/incubator/http/Response;Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
0 1 1 r Ljdk/incubator/http/Response;
private static jdk.incubator.http.Response lambda$10(jdk.incubator.http.Response);
descriptor: (Ljdk/incubator/http/Response;)Ljdk/incubator/http/Response;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.incubator.http.HttpResponseImpl.logResponse:(Ljdk/incubator/http/Response;)V
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 response Ljdk/incubator/http/Response;
private java.util.concurrent.CompletionStage lambda$12(jdk.incubator.http.Http1Exchange, java.lang.Object);
descriptor: (Ljdk/incubator/http/Http1Exchange;Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: aload 1
invokevirtual jdk.incubator.http.Http1Exchange.connection:()Ljdk/incubator/http/HttpConnection;
1: aload 0
getfield jdk.incubator.http.Exchange.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.client2:()Ljdk/incubator/http/Http2ClientImpl;
2: aload 0
aload 1
invokevirtual jdk.incubator.http.Http1Exchange.getBuffer:()Ljava/nio/ByteBuffer;
3: invokestatic jdk.incubator.http.Http2Connection.createAsync:(Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture;
4: aload 0
invokedynamic apply(Ljdk/incubator/http/Exchange;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Exchange.lambda$13(Ljdk/incubator/http/Http2Connection;)Ljava/util/concurrent/CompletionStage; (7)
(Ljdk/incubator/http/Http2Connection;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
5: areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/Exchange<TT;>;
0 6 2 v TT;
private java.util.concurrent.CompletionStage lambda$4(jdk.incubator.http.ExchangeImpl);
descriptor: (Ljdk/incubator/http/ExchangeImpl;)Ljava/util/concurrent/CompletionStage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.incubator.http.Exchange.parentExecutor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.ExchangeImpl.getResponseAsync:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Exchange<TT;>;
0 1 1 exIm Ljdk/incubator/http/ExchangeImpl<TT;>;
private static jdk.incubator.http.Response lambda$6(jdk.incubator.http.Response, java.lang.Object);
descriptor: (Ljdk/incubator/http/Response;Ljava/lang/Object;)Ljdk/incubator/http/Response;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 1 0: aload 0
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v TT;
private java.util.concurrent.CompletionStage lambda$13(jdk.incubator.http.Http2Connection);
descriptor: (Ljdk/incubator/http/Http2Connection;)Ljava/util/concurrent/CompletionStage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.incubator.http.Http2Connection.putConnection:()V
1: aload 1
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.getStream:(I)Ljdk/incubator/http/Stream;
astore 2
start local 2 2: aload 0
aload 2
putfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
3: aload 2
aconst_null
invokevirtual jdk.incubator.http.Stream.getResponseAsync:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Exchange<TT;>;
0 4 1 c Ljdk/incubator/http/Http2Connection;
2 4 2 s Ljdk/incubator/http/Stream<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "Exchange.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Redirect = jdk.incubator.http.HttpClient$Redirect of jdk.incubator.http.HttpClient
public final Version = jdk.incubator.http.HttpClient$Version of jdk.incubator.http.HttpClient
public abstract BodyProcessor = jdk.incubator.http.HttpRequest$BodyProcessor of jdk.incubator.http.HttpRequest
public abstract BodyHandler = jdk.incubator.http.HttpResponse$BodyHandler of jdk.incubator.http.HttpResponse
public abstract BodyProcessor = jdk.incubator.http.HttpResponse$BodyProcessor of jdk.incubator.http.HttpResponse