public class jdk.internal.net.http.ResponseBodyHandlers$PushPromisesHandlerWithMap<T> implements java.net.http.HttpResponse$PushPromiseHandler<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.net.http.ResponseBodyHandlers$PushPromisesHandlerWithMap
super_class: java.lang.Object
{
private final java.util.concurrent.ConcurrentMap<java.net.http.HttpRequest, java.util.concurrent.CompletableFuture<java.net.http.HttpResponse<T>>> pushPromisesMap;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/net/http/HttpRequest;Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;>;
private final java.util.function.Function<java.net.http.HttpRequest, java.net.http.HttpResponse$BodyHandler<T>> pushPromiseHandler;
descriptor: Ljava/util/function/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Function<Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler<TT;>;>;
public void <init>(java.util.function.Function<java.net.http.HttpRequest, java.net.http.HttpResponse$BodyHandler<T>>, java.util.concurrent.ConcurrentMap<java.net.http.HttpRequest, java.util.concurrent.CompletableFuture<java.net.http.HttpResponse<T>>>);
descriptor: (Ljava/util/function/Function;Ljava/util/concurrent/ConcurrentMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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
aload 1
putfield jdk.internal.net.http.ResponseBodyHandlers$PushPromisesHandlerWithMap.pushPromiseHandler:Ljava/util/function/Function;
2: aload 0
aload 2
putfield jdk.internal.net.http.ResponseBodyHandlers$PushPromisesHandlerWithMap.pushPromisesMap:Ljava/util/concurrent/ConcurrentMap;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/ResponseBodyHandlers$PushPromisesHandlerWithMap<TT;>;
0 4 1 pushPromiseHandler Ljava/util/function/Function<Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler<TT;>;>;
0 4 2 pushPromisesMap Ljava/util/concurrent/ConcurrentMap<Ljava/net/http/HttpRequest;Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;>;
Signature: (Ljava/util/function/Function<Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler<TT;>;>;Ljava/util/concurrent/ConcurrentMap<Ljava/net/http/HttpRequest;Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;>;)V
MethodParameters:
Name Flags
pushPromiseHandler
pushPromisesMap
public void applyPushPromise(java.net.http.HttpRequest, java.net.http.HttpRequest, java.util.function.Function<java.net.http.HttpResponse$BodyHandler<T>, java.util.concurrent.CompletableFuture<java.net.http.HttpResponse<T>>>);
descriptor: (Ljava/net/http/HttpRequest;Ljava/net/http/HttpRequest;Ljava/util/function/Function;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.net.http.HttpRequest.uri:()Ljava/net/URI;
astore 4
start local 4 1: aload 2
invokevirtual java.net.http.HttpRequest.uri:()Ljava/net/URI;
astore 5
start local 5 2: aload 4
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
aload 5
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 4
3: return
4: StackMap locals: java.net.URI java.net.URI
StackMap stack:
aload 4
invokevirtual java.net.URI.getPort:()I
istore 6
start local 6 5: iload 6
iconst_m1
if_icmpne 9
6: ldc "https"
aload 4
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
7: sipush 443
istore 6
goto 9
8: StackMap locals: int
StackMap stack:
bipush 80
istore 6
9: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.net.URI.getPort:()I
istore 7
start local 7 10: iload 7
iconst_m1
if_icmpne 14
11: ldc "https"
aload 5
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
12: sipush 443
istore 7
goto 14
13: StackMap locals: int
StackMap stack:
bipush 80
istore 7
14: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmpeq 16
15: return
16: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield jdk.internal.net.http.ResponseBodyHandlers$PushPromisesHandlerWithMap.pushPromiseHandler:Ljava/util/function/Function;
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.http.HttpResponse$BodyHandler
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.CompletableFuture
17: astore 8
start local 8 18: aload 0
getfield jdk.internal.net.http.ResponseBodyHandlers$PushPromisesHandlerWithMap.pushPromisesMap:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 8
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: return
end local 8 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 20 0 this Ljdk/internal/net/http/ResponseBodyHandlers$PushPromisesHandlerWithMap<TT;>;
0 20 1 initiatingRequest Ljava/net/http/HttpRequest;
0 20 2 pushRequest Ljava/net/http/HttpRequest;
0 20 3 acceptor Ljava/util/function/Function<Ljava/net/http/HttpResponse$BodyHandler<TT;>;Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;>;
1 20 4 initiatingURI Ljava/net/URI;
2 20 5 pushRequestURI Ljava/net/URI;
5 20 6 initiatingPort I
10 20 7 pushPort I
18 20 8 cf Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;
Signature: (Ljava/net/http/HttpRequest;Ljava/net/http/HttpRequest;Ljava/util/function/Function<Ljava/net/http/HttpResponse$BodyHandler<TT;>;Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;>;)V
MethodParameters:
Name Flags
initiatingRequest
pushRequest
acceptor
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/net/http/HttpResponse$PushPromiseHandler<TT;>;
SourceFile: "ResponseBodyHandlers.java"
NestHost: jdk.internal.net.http.ResponseBodyHandlers
InnerClasses:
public abstract BodyHandler = java.net.http.HttpResponse$BodyHandler of java.net.http.HttpResponse
public abstract PushPromiseHandler = java.net.http.HttpResponse$PushPromiseHandler of java.net.http.HttpResponse
public PushPromisesHandlerWithMap = jdk.internal.net.http.ResponseBodyHandlers$PushPromisesHandlerWithMap of jdk.internal.net.http.ResponseBodyHandlers