public class io.vertx.ext.web.handler.impl.FormLoginHandlerImpl implements io.vertx.ext.web.handler.FormLoginHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.web.handler.impl.FormLoginHandlerImpl
super_class: java.lang.Object
{
private static final io.vertx.core.logging.Logger log;
descriptor: Lio/vertx/core/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.vertx.ext.auth.AuthProvider authProvider;
descriptor: Lio/vertx/ext/auth/AuthProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String usernameParam;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String passwordParam;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String returnURLParam;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String directLoggedInOKURL;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String DEFAULT_DIRECT_LOGGED_IN_OK_PAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "<html><body><h1>Login successful</h1></body></html>"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
putstatic io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.log:Lio/vertx/core/logging/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.web.handler.FormLoginHandler setUsernameParam(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/handler/FormLoginHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.usernameParam:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 2 1 usernameParam Ljava/lang/String;
MethodParameters:
Name Flags
usernameParam
public io.vertx.ext.web.handler.FormLoginHandler setPasswordParam(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/handler/FormLoginHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.passwordParam:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 2 1 passwordParam Ljava/lang/String;
MethodParameters:
Name Flags
passwordParam
public io.vertx.ext.web.handler.FormLoginHandler setReturnURLParam(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/handler/FormLoginHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.returnURLParam:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 2 1 returnURLParam Ljava/lang/String;
MethodParameters:
Name Flags
returnURLParam
public io.vertx.ext.web.handler.FormLoginHandler setDirectLoggedInOKURL(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/handler/FormLoginHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.directLoggedInOKURL:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 2 1 directLoggedInOKURL Ljava/lang/String;
MethodParameters:
Name Flags
directLoggedInOKURL
public void <init>(io.vertx.ext.auth.AuthProvider, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Lio/vertx/ext/auth/AuthProvider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.authProvider:Lio/vertx/ext/auth/AuthProvider;
2: aload 0
aload 2
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.usernameParam:Ljava/lang/String;
3: aload 0
aload 3
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.passwordParam:Ljava/lang/String;
4: aload 0
aload 4
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.returnURLParam:Ljava/lang/String;
5: aload 0
aload 5
putfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.directLoggedInOKURL:Ljava/lang/String;
6: return
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 7 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 7 1 authProvider Lio/vertx/ext/auth/AuthProvider;
0 7 2 usernameParam Ljava/lang/String;
0 7 3 passwordParam Ljava/lang/String;
0 7 4 returnURLParam Ljava/lang/String;
0 7 5 directLoggedInOKURL Ljava/lang/String;
MethodParameters:
Name Flags
authProvider
usernameParam
passwordParam
returnURLParam
directLoggedInOKURL
public void handle(io.vertx.ext.web.RoutingContext);
descriptor: (Lio/vertx/ext/web/RoutingContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
astore 2
start local 2 1: aload 2
invokeinterface io.vertx.core.http.HttpServerRequest.method:()Lio/vertx/core/http/HttpMethod;
getstatic io.vertx.core.http.HttpMethod.POST:Lio/vertx/core/http/HttpMethod;
if_acmpeq 4
2: aload 1
sipush 405
invokeinterface io.vertx.ext.web.RoutingContext.fail:(I)V
3: goto 16
4: StackMap locals: io.vertx.core.http.HttpServerRequest
StackMap stack:
aload 2
invokeinterface io.vertx.core.http.HttpServerRequest.isExpectMultipart:()Z
ifne 6
5: new java.lang.IllegalStateException
dup
ldc "HttpServerRequest should have setExpectMultipart set to true, but it is currently set to false."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.vertx.core.http.HttpServerRequest.formAttributes:()Lio/vertx/core/MultiMap;
astore 3
start local 3 7: aload 3
aload 0
getfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.usernameParam:Ljava/lang/String;
invokeinterface io.vertx.core.MultiMap.get:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 8: aload 3
aload 0
getfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.passwordParam:Ljava/lang/String;
invokeinterface io.vertx.core.MultiMap.get:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 9: aload 4
ifnull 10
aload 5
ifnonnull 13
10: StackMap locals: io.vertx.core.MultiMap java.lang.String java.lang.String
StackMap stack:
getstatic io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.log:Lio/vertx/core/logging/Logger;
ldc "No username or password provided in form - did you forget to include a BodyHandler?"
invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
11: aload 1
sipush 400
invokeinterface io.vertx.ext.web.RoutingContext.fail:(I)V
12: goto 16
13: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.ext.web.RoutingContext.session:()Lio/vertx/ext/web/Session;
astore 6
start local 6 14: new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
ldc "username"
aload 4
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
ldc "password"
aload 5
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
astore 7
start local 7 15: aload 0
getfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.authProvider:Lio/vertx/ext/auth/AuthProvider;
aload 7
aload 0
aload 1
aload 6
aload 2
invokedynamic handle(Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/Session;Lio/vertx/core/http/HttpServerRequest;)Lio/vertx/core/Handler;
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
io/vertx/ext/web/handler/impl/FormLoginHandlerImpl.lambda$0(Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/Session;Lio/vertx/core/http/HttpServerRequest;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.ext.auth.AuthProvider.authenticate:(Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
end local 7 end local 6 end local 5 end local 4 end local 3 16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 17 1 context Lio/vertx/ext/web/RoutingContext;
1 17 2 req Lio/vertx/core/http/HttpServerRequest;
7 16 3 params Lio/vertx/core/MultiMap;
8 16 4 username Ljava/lang/String;
9 16 5 password Ljava/lang/String;
14 16 6 session Lio/vertx/ext/web/Session;
15 16 7 authInfo Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
context
private void doRedirect(io.vertx.core.http.HttpServerResponse, java.lang.String);
descriptor: (Lio/vertx/core/http/HttpServerResponse;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "location"
aload 2
invokeinterface io.vertx.core.http.HttpServerResponse.putHeader:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
sipush 302
invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
invokeinterface io.vertx.core.http.HttpServerResponse.end:()V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 2 1 response Lio/vertx/core/http/HttpServerResponse;
0 2 2 url Ljava/lang/String;
MethodParameters:
Name Flags
response
url
public void handle(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.vertx.ext.web.RoutingContext
invokevirtual io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.handle:(Lio/vertx/ext/web/RoutingContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(io.vertx.ext.web.RoutingContext, io.vertx.ext.web.Session, io.vertx.core.http.HttpServerRequest, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/Session;Lio/vertx/core/http/HttpServerRequest;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=7, args_size=5
start local 0 start local 4 0: aload 4
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 14
1: aload 4
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.ext.auth.User
astore 5
start local 5 2: aload 1
aload 5
invokeinterface io.vertx.ext.web.RoutingContext.setUser:(Lio/vertx/ext/auth/User;)V
3: aload 2
ifnull 9
4: aload 2
invokeinterface io.vertx.ext.web.Session.regenerateId:()Lio/vertx/ext/web/Session;
pop
5: aload 2
aload 0
getfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.returnURLParam:Ljava/lang/String;
invokeinterface io.vertx.ext.web.Session.remove:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 6: aload 6
ifnull 9
7: aload 0
aload 3
invokeinterface io.vertx.core.http.HttpServerRequest.response:()Lio/vertx/core/http/HttpServerResponse;
aload 6
invokevirtual io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.doRedirect:(Lio/vertx/core/http/HttpServerResponse;Ljava/lang/String;)V
8: return
end local 6 9: StackMap locals: io.vertx.ext.auth.User
StackMap stack:
aload 0
getfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.directLoggedInOKURL:Ljava/lang/String;
ifnull 12
10: aload 0
aload 3
invokeinterface io.vertx.core.http.HttpServerRequest.response:()Lio/vertx/core/http/HttpServerResponse;
aload 0
getfield io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.directLoggedInOKURL:Ljava/lang/String;
invokevirtual io.vertx.ext.web.handler.impl.FormLoginHandlerImpl.doRedirect:(Lio/vertx/core/http/HttpServerResponse;Ljava/lang/String;)V
11: goto 15
12: StackMap locals:
StackMap stack:
aload 3
invokeinterface io.vertx.core.http.HttpServerRequest.response:()Lio/vertx/core/http/HttpServerResponse;
ldc "<html><body><h1>Login successful</h1></body></html>"
invokeinterface io.vertx.core.http.HttpServerResponse.end:(Ljava/lang/String;)V
end local 5 13: goto 15
14: StackMap locals:
StackMap stack:
aload 1
sipush 403
invokeinterface io.vertx.ext.web.RoutingContext.fail:(I)V
15: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/ext/web/handler/impl/FormLoginHandlerImpl;
0 16 4 res Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;
2 13 5 user Lio/vertx/ext/auth/User;
6 9 6 returnURL Ljava/lang/String;
}
SourceFile: "FormLoginHandlerImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles