public abstract class io.dropwizard.auth.AuthFilter<C, P extends java.security.Principal> implements javax.ws.rs.container.ContainerRequestFilter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.dropwizard.auth.AuthFilter
super_class: java.lang.Object
{
protected final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected java.lang.String prefix;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String realm;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected io.dropwizard.auth.Authenticator<C, P> authenticator;
descriptor: Lio/dropwizard/auth/Authenticator;
flags: (0x0004) ACC_PROTECTED
Signature: Lio/dropwizard/auth/Authenticator<TC;TP;>;
protected io.dropwizard.auth.Authorizer<P> authorizer;
descriptor: Lio/dropwizard/auth/Authorizer;
flags: (0x0004) ACC_PROTECTED
Signature: Lio/dropwizard/auth/Authorizer<TP;>;
protected io.dropwizard.auth.UnauthorizedHandler unauthorizedHandler;
descriptor: Lio/dropwizard/auth/UnauthorizedHandler;
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putfield io.dropwizard.auth.AuthFilter.logger:Lorg/slf4j/Logger;
2: aload 0
ldc "Basic"
putfield io.dropwizard.auth.AuthFilter.prefix:Ljava/lang/String;
3: aload 0
ldc "realm"
putfield io.dropwizard.auth.AuthFilter.realm:Ljava/lang/String;
4: aload 0
invokedynamic authenticate()Lio/dropwizard/auth/Authenticator;
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/util/Optional;
io/dropwizard/auth/AuthFilter.lambda$0(Ljava/lang/Object;)Ljava/util/Optional; (6)
(Ljava/lang/Object;)Ljava/util/Optional;
putfield io.dropwizard.auth.AuthFilter.authenticator:Lio/dropwizard/auth/Authenticator;
5: aload 0
new io.dropwizard.auth.PermitAllAuthorizer
dup
invokespecial io.dropwizard.auth.PermitAllAuthorizer.<init>:()V
putfield io.dropwizard.auth.AuthFilter.authorizer:Lio/dropwizard/auth/Authorizer;
6: aload 0
new io.dropwizard.auth.DefaultUnauthorizedHandler
dup
invokespecial io.dropwizard.auth.DefaultUnauthorizedHandler.<init>:()V
putfield io.dropwizard.auth.AuthFilter.unauthorizedHandler:Lio/dropwizard/auth/UnauthorizedHandler;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/dropwizard/auth/AuthFilter<TC;TP;>;
protected boolean authenticate(javax.ws.rs.container.ContainerRequestContext, C, java.lang.String);
descriptor: (Ljavax/ws/rs/container/ContainerRequestContext;Ljava/lang/Object;Ljava/lang/String;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.dropwizard.auth.AuthFilter.authenticator:Lio/dropwizard/auth/Authenticator;
aload 2
invokeinterface io.dropwizard.auth.Authenticator.authenticate:(Ljava/lang/Object;)Ljava/util/Optional;
astore 4
start local 4 3: aload 4
invokevirtual java.util.Optional.isPresent:()Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals: java.util.Optional
StackMap stack:
aload 1
invokeinterface javax.ws.rs.container.ContainerRequestContext.getSecurityContext:()Ljavax/ws/rs/core/SecurityContext;
astore 5
start local 5 6: aload 5
ifnull 7
aload 5
invokeinterface javax.ws.rs.core.SecurityContext.isSecure:()Z
ifeq 7
iconst_1
goto 8
StackMap locals: javax.ws.rs.core.SecurityContext
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 6
start local 6 9: aload 1
new io.dropwizard.auth.AuthFilter$1
dup
aload 0
aload 4
iload 6
aload 3
invokespecial io.dropwizard.auth.AuthFilter$1.<init>:(Lio/dropwizard/auth/AuthFilter;Ljava/util/Optional;ZLjava/lang/String;)V
invokeinterface javax.ws.rs.container.ContainerRequestContext.setSecurityContext:(Ljavax/ws/rs/core/SecurityContext;)V
10: iconst_1
ireturn
end local 6 end local 5 end local 4 11: StackMap locals: io.dropwizard.auth.AuthFilter javax.ws.rs.container.ContainerRequestContext java.lang.Object java.lang.String
StackMap stack: io.dropwizard.auth.AuthenticationException
astore 4
start local 4 12: aload 0
getfield io.dropwizard.auth.AuthFilter.logger:Lorg/slf4j/Logger;
ldc "Error authenticating credentials"
aload 4
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
13: new javax.ws.rs.InternalServerErrorException
dup
invokespecial javax.ws.rs.InternalServerErrorException.<init>:()V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/dropwizard/auth/AuthFilter<TC;TP;>;
0 14 1 requestContext Ljavax/ws/rs/container/ContainerRequestContext;
0 14 2 credentials TC;
0 14 3 scheme Ljava/lang/String;
3 11 4 principal Ljava/util/Optional<TP;>;
6 11 5 securityContext Ljavax/ws/rs/core/SecurityContext;
9 11 6 secure Z
12 14 4 e Lio/dropwizard/auth/AuthenticationException;
Exception table:
from to target type
0 1 11 Class io.dropwizard.auth.AuthenticationException
2 4 11 Class io.dropwizard.auth.AuthenticationException
5 10 11 Class io.dropwizard.auth.AuthenticationException
Signature: (Ljavax/ws/rs/container/ContainerRequestContext;TC;Ljava/lang/String;)Z
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
javax.annotation.Nullable()
2:
MethodParameters:
Name Flags
requestContext
credentials
scheme
private static java.util.Optional lambda$0(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 credentials TC;
Exceptions:
throws io.dropwizard.auth.AuthenticationException
}
Signature: <C:Ljava/lang/Object;P::Ljava/security/Principal;>Ljava/lang/Object;Ljavax/ws/rs/container/ContainerRequestFilter;
SourceFile: "AuthFilter.java"
NestMembers:
io.dropwizard.auth.AuthFilter$1 io.dropwizard.auth.AuthFilter$AuthFilterBuilder
InnerClasses:
io.dropwizard.auth.AuthFilter$1
public abstract AuthFilterBuilder = io.dropwizard.auth.AuthFilter$AuthFilterBuilder of io.dropwizard.auth.AuthFilter
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
javax.annotation.Priority(value = 1000)