public class org.springframework.boot.actuate.trace.http.HttpExchangeTracer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.boot.actuate.trace.http.HttpExchangeTracer
super_class: java.lang.Object
{
private final java.util.Set<org.springframework.boot.actuate.trace.http.Include> includes;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lorg/springframework/boot/actuate/trace/http/Include;>;
public void <init>(java.util.Set<org.springframework.boot.actuate.trace.http.Include>);
descriptor: (Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.boot.actuate.trace.http.HttpExchangeTracer.includes:Ljava/util/Set;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;
0 3 1 includes Ljava/util/Set<Lorg/springframework/boot/actuate/trace/http/Include;>;
Signature: (Ljava/util/Set<Lorg/springframework/boot/actuate/trace/http/Include;>;)V
MethodParameters:
Name Flags
includes
public final org.springframework.boot.actuate.trace.http.HttpTrace receivedRequest(org.springframework.boot.actuate.trace.http.TraceableRequest);
descriptor: (Lorg/springframework/boot/actuate/trace/http/TraceableRequest;)Lorg/springframework/boot/actuate/trace/http/HttpTrace;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.springframework.boot.actuate.trace.http.HttpTrace
dup
new org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableRequest
dup
aload 0
aload 1
invokespecial org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableRequest.<init>:(Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;Lorg/springframework/boot/actuate/trace/http/TraceableRequest;)V
invokespecial org.springframework.boot.actuate.trace.http.HttpTrace.<init>:(Lorg/springframework/boot/actuate/trace/http/TraceableRequest;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;
0 1 1 request Lorg/springframework/boot/actuate/trace/http/TraceableRequest;
MethodParameters:
Name Flags
request
public final void sendingResponse(org.springframework.boot.actuate.trace.http.HttpTrace, org.springframework.boot.actuate.trace.http.TraceableResponse, java.util.function.Supplier<java.security.Principal>, java.util.function.Supplier<java.lang.String>);
descriptor: (Lorg/springframework/boot/actuate/trace/http/HttpTrace;Lorg/springframework/boot/actuate/trace/http/TraceableResponse;Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getstatic org.springframework.boot.actuate.trace.http.Include.TIME_TAKEN:Lorg/springframework/boot/actuate/trace/http/Include;
aload 1
invokedynamic get(Lorg/springframework/boot/actuate/trace/http/HttpTrace;)Ljava/util/function/Supplier;
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;
org/springframework/boot/actuate/trace/http/HttpExchangeTracer.lambda$0(Lorg/springframework/boot/actuate/trace/http/HttpTrace;)Ljava/lang/Long; (6)
()Ljava/lang/Long;
1: aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/springframework/boot/actuate/trace/http/HttpTrace;)Ljava/util/function/Consumer;
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;)V
org/springframework/boot/actuate/trace/http/HttpTrace.setTimeTaken(J)V (5)
(Ljava/lang/Long;)V
2: invokevirtual org.springframework.boot.actuate.trace.http.HttpExchangeTracer.setIfIncluded:(Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
3: aload 0
getstatic org.springframework.boot.actuate.trace.http.Include.SESSION_ID:Lorg/springframework/boot/actuate/trace/http/Include;
aload 4
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/springframework/boot/actuate/trace/http/HttpTrace;)Ljava/util/function/Consumer;
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;)V
org/springframework/boot/actuate/trace/http/HttpTrace.setSessionId(Ljava/lang/String;)V (5)
(Ljava/lang/String;)V
invokevirtual org.springframework.boot.actuate.trace.http.HttpExchangeTracer.setIfIncluded:(Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
4: aload 0
getstatic org.springframework.boot.actuate.trace.http.Include.PRINCIPAL:Lorg/springframework/boot/actuate/trace/http/Include;
aload 3
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/springframework/boot/actuate/trace/http/HttpTrace;)Ljava/util/function/Consumer;
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;)V
org/springframework/boot/actuate/trace/http/HttpTrace.setPrincipal(Ljava/security/Principal;)V (5)
(Ljava/security/Principal;)V
invokevirtual org.springframework.boot.actuate.trace.http.HttpExchangeTracer.setIfIncluded:(Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
5: aload 1
new org.springframework.boot.actuate.trace.http.HttpTrace$Response
dup
new org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableResponse
dup
aload 0
aload 2
invokespecial org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableResponse.<init>:(Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;Lorg/springframework/boot/actuate/trace/http/TraceableResponse;)V
invokespecial org.springframework.boot.actuate.trace.http.HttpTrace$Response.<init>:(Lorg/springframework/boot/actuate/trace/http/TraceableResponse;)V
invokevirtual org.springframework.boot.actuate.trace.http.HttpTrace.setResponse:(Lorg/springframework/boot/actuate/trace/http/HttpTrace$Response;)V
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;
0 7 1 trace Lorg/springframework/boot/actuate/trace/http/HttpTrace;
0 7 2 response Lorg/springframework/boot/actuate/trace/http/TraceableResponse;
0 7 3 principal Ljava/util/function/Supplier<Ljava/security/Principal;>;
0 7 4 sessionId Ljava/util/function/Supplier<Ljava/lang/String;>;
Signature: (Lorg/springframework/boot/actuate/trace/http/HttpTrace;Lorg/springframework/boot/actuate/trace/http/TraceableResponse;Ljava/util/function/Supplier<Ljava/security/Principal;>;Ljava/util/function/Supplier<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
trace
response
principal
sessionId
protected void postProcessRequestHeaders(java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
descriptor: (Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;
0 1 1 headers Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)V
MethodParameters:
Name Flags
headers
private <T> T getIfIncluded(org.springframework.boot.actuate.trace.http.Include, java.util.function.Supplier<T>);
descriptor: (Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.boot.actuate.trace.http.HttpExchangeTracer.includes:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 1
aload 2
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;
0 3 1 include Lorg/springframework/boot/actuate/trace/http/Include;
0 3 2 valueSupplier Ljava/util/function/Supplier<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier<TT;>;)TT;
MethodParameters:
Name Flags
include
valueSupplier
private <T> void setIfIncluded(org.springframework.boot.actuate.trace.http.Include, java.util.function.Supplier<T>, java.util.function.Consumer<T>);
descriptor: (Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.springframework.boot.actuate.trace.http.HttpExchangeTracer.includes:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
1: aload 3
aload 2
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;
0 3 1 include Lorg/springframework/boot/actuate/trace/http/Include;
0 3 2 supplier Ljava/util/function/Supplier<TT;>;
0 3 3 consumer Ljava/util/function/Consumer<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier<TT;>;Ljava/util/function/Consumer<TT;>;)V
MethodParameters:
Name Flags
include
supplier
consumer
private java.util.Map<java.lang.String, java.util.List<java.lang.String>> getHeadersIfIncluded(org.springframework.boot.actuate.trace.http.Include, java.util.function.Supplier<java.util.Map<java.lang.String, java.util.List<java.lang.String>>>, java.util.function.Predicate<java.lang.String>);
descriptor: (Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier;Ljava/util/function/Predicate;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.springframework.boot.actuate.trace.http.HttpExchangeTracer.includes:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
1: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
aload 3
invokedynamic test(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
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;)Z
org/springframework/boot/actuate/trace/http/HttpExchangeTracer.lambda$4(Ljava/util/function/Predicate;Ljava/util/Map$Entry;)Z (6)
(Ljava/util/Map$Entry;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: 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;
java/util/Map$Entry.getKey()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/lang/String;
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;
java/util/Map$Entry.getValue()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/util/List;
invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
4: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/boot/actuate/trace/http/HttpExchangeTracer;
0 5 1 include Lorg/springframework/boot/actuate/trace/http/Include;
0 5 2 headersSupplier Ljava/util/function/Supplier<Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;>;
0 5 3 headerPredicate Ljava/util/function/Predicate<Ljava/lang/String;>;
Signature: (Lorg/springframework/boot/actuate/trace/http/Include;Ljava/util/function/Supplier<Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;>;Ljava/util/function/Predicate<Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
MethodParameters:
Name Flags
include
headersSupplier
headerPredicate
private static java.lang.Long lambda$0(org.springframework.boot.actuate.trace.http.HttpTrace);
descriptor: (Lorg/springframework/boot/actuate/trace/http/HttpTrace;)Ljava/lang/Long;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
0: invokestatic java.lang.System.currentTimeMillis:()J
aload 0
invokevirtual org.springframework.boot.actuate.trace.http.HttpTrace.getTimestamp:()Ljava/time/Instant;
invokevirtual java.time.Instant.toEpochMilli:()J
lsub
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$4(java.util.function.Predicate, java.util.Map$Entry);
descriptor: (Ljava/util/function/Predicate;Ljava/util/Map$Entry;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
}
SourceFile: "HttpExchangeTracer.java"
NestMembers:
org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableRequest org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableResponse
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
private final FilteredTraceableRequest = org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableRequest of org.springframework.boot.actuate.trace.http.HttpExchangeTracer
private final FilteredTraceableResponse = org.springframework.boot.actuate.trace.http.HttpExchangeTracer$FilteredTraceableResponse of org.springframework.boot.actuate.trace.http.HttpExchangeTracer
public final Response = org.springframework.boot.actuate.trace.http.HttpTrace$Response of org.springframework.boot.actuate.trace.http.HttpTrace