class io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1 extends io.micronaut.core.async.subscriber.CompletionAwareSubscriber<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1
super_class: io.micronaut.core.async.subscriber.CompletionAwareSubscriber
{
java.util.concurrent.atomic.AtomicReference<java.lang.Object> reference;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0000)
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Object;>;
final io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice this$0;
descriptor: Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.lang.Class val$reactiveValueType;
descriptor: Ljava/lang/Class;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.util.concurrent.CompletableFuture val$future;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.Class val$declaringType;
descriptor: Ljava/lang/Class;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice, java.lang.Class, java.util.concurrent.CompletableFuture, java.lang.Class);
descriptor: (Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice;Ljava/lang/Class;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 0: aload 0
aload 1
putfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.this$0:Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice;
aload 0
aload 2
putfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$reactiveValueType:Ljava/lang/Class;
aload 0
aload 3
putfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$future:Ljava/util/concurrent/CompletableFuture;
aload 0
aload 4
putfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$declaringType:Ljava/lang/Class;
aload 0
invokespecial io.micronaut.core.async.subscriber.CompletionAwareSubscriber.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.reference:Ljava/util/concurrent/atomic/AtomicReference;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice$1;
MethodParameters:
Name Flags
this$0 final
val$reactiveValueType final
val$future final
val$declaringType final
protected void doOnSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
lconst_1
invokeinterface org.reactivestreams.Subscription.request:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice$1;
0 2 1 subscription Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
subscription
protected void doOnNext(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc Ljava/lang/Void;
aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$reactiveValueType:Ljava/lang/Class;
if_acmpeq 2
1: aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.reference:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice$1;
0 3 1 message Ljava/lang/Object;
MethodParameters:
Name Flags
message
protected void doOnError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.micronaut.http.client.exceptions.HttpClientResponseException
ifeq 11
1: aload 1
checkcast io.micronaut.http.client.exceptions.HttpClientResponseException
astore 2
start local 2 2: aload 2
invokevirtual io.micronaut.http.client.exceptions.HttpClientResponseException.getStatus:()Lio/micronaut/http/HttpStatus;
getstatic io.micronaut.http.HttpStatus.NOT_FOUND:Lio/micronaut/http/HttpStatus;
if_acmpne 11
3: aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$reactiveValueType:Ljava/lang/Class;
ldc Ljava/util/Optional;
if_acmpne 6
4: aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$future:Ljava/util/concurrent/CompletableFuture;
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
5: goto 10
StackMap locals: io.micronaut.http.client.exceptions.HttpClientResponseException
StackMap stack:
6: ldc Lio/micronaut/http/HttpResponse;
aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$reactiveValueType:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 9
7: aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$future:Ljava/util/concurrent/CompletableFuture;
aload 2
invokevirtual io.micronaut.http.client.exceptions.HttpClientResponseException.getResponse:()Lio/micronaut/http/HttpResponse;
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$future:Ljava/util/concurrent/CompletableFuture;
aconst_null
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
return
end local 2 11: StackMap locals:
StackMap stack:
getstatic io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isErrorEnabled:()Z
ifeq 13
12: getstatic io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice.LOG:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Client ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$declaringType:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] received HTTP error response: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
13: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$future:Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice$1;
0 15 1 t Ljava/lang/Throwable;
2 11 2 e Lio/micronaut/http/client/exceptions/HttpClientResponseException;
MethodParameters:
Name Flags
t
protected void doOnComplete();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.val$future:Ljava/util/concurrent/CompletableFuture;
aload 0
getfield io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1.reference:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/client/interceptor/HttpClientIntroductionAdvice$1;
}
Signature: Lio/micronaut/core/async/subscriber/CompletionAwareSubscriber<Ljava/lang/Object;>;
SourceFile: "HttpClientIntroductionAdvice.java"
EnclosingMethod: io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice.intercept:(Lio/micronaut/aop/MethodInvocationContext;)Ljava/lang/Object;
NestHost: io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice
InnerClasses:
io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice$1