Class SessionHandler
- All Implemented Interfaces:
MutinyDelegate
,io.vertx.core.Handler<RoutingContext>
,PlatformHandler
,Consumer<RoutingContext>
Session
for each browser
session.
It looks up the session for each request based on a session cookie which contains a session ID. It stores the session when the response is ended in the session store.
The session is available on the routing context with .
NOTE: This class has been automatically generated from theoriginal
non Mutiny-ified interface using Vert.x codegen.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TypeArg<SessionHandler>
static final boolean
Default of whether the cookie has the HttpOnly flag set More info: https://www.owasp.org/index.php/HttpOnlystatic final boolean
Default of whether the cookie has the 'secure' flag set to allow transmission over https only.static final boolean
Default of whether the session should be created lazily.static final boolean
Default of whether a nagging log warning should be written if the session handler is accessed over HTTP, not HTTPSstatic final String
Default name of session cookiestatic final String
Default path of session cookiestatic final long
Default time, in ms, that a session lasts for without being accessed before expiring.static final int
Default min length for a session id. -
Constructor Summary
ConstructorsConstructorDescriptionSessionHandler
(io.vertx.ext.web.handler.SessionHandler delegate) SessionHandler
(Object delegate) -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(RoutingContext item) static SessionHandler
create
(SessionStore sessionStore) boolean
io.smallrye.mutiny.Uni<Void>
flush
(RoutingContext ctx) Flush a context session earlier to the store, this will allow the end user to have full control on the event of a failure at the store level.io.smallrye.mutiny.Uni<Void>
flush
(RoutingContext ctx, boolean ignoreStatus) Flush a context session earlier to the store, this will allow the end user to have full control on the event of a failure at the store level.Blocking variant offlush(io.vertx.mutiny.ext.web.RoutingContext)
.flushAndAwait
(RoutingContext ctx, boolean ignoreStatus) Blocking variant offlush(io.vertx.mutiny.ext.web.RoutingContext,boolean)
.Variant offlush(io.vertx.mutiny.ext.web.RoutingContext)
that ignores the result of the operation.flushAndForget
(RoutingContext ctx, boolean ignoreStatus) Variant offlush(io.vertx.mutiny.ext.web.RoutingContext,boolean)
that ignores the result of the operation.io.vertx.ext.web.handler.SessionHandler
void
handle
(RoutingContext arg0) int
hashCode()
static SessionHandler
newInstance
(io.vertx.ext.web.handler.SessionHandler arg) newSession
(RoutingContext context) setCookieHttpOnlyFlag
(boolean httpOnly) setCookieless
(boolean cookieless) setCookieMaxAge
(long cookieMaxAge) setCookieSameSite
(io.vertx.core.http.CookieSameSite policy) setCookieSecureFlag
(boolean secure) setLazySession
(boolean lazySession) setMinLength
(int minLength) setNagHttps
(boolean nag) setSessionCookieName
(String sessionCookieName) setSessionCookiePath
(String sessionCookiePath) setSessionTimeout
(long timeout) io.smallrye.mutiny.Uni<Void>
setUser
(RoutingContext context, User user) Set the user for the sessionsetUserAndAwait
(RoutingContext context, User user) Blocking variant ofsetUser(io.vertx.mutiny.ext.web.RoutingContext,io.vertx.mutiny.ext.auth.User)
.setUserAndForget
(RoutingContext context, User user) Variant ofsetUser(io.vertx.mutiny.ext.web.RoutingContext,io.vertx.mutiny.ext.auth.User)
that ignores the result of the operation.toString()
-
Field Details
-
__TYPE_ARG
-
DEFAULT_SESSION_COOKIE_NAME
Default name of session cookie- See Also:
-
DEFAULT_SESSION_COOKIE_PATH
Default path of session cookie- See Also:
-
DEFAULT_SESSION_TIMEOUT
public static final long DEFAULT_SESSION_TIMEOUTDefault time, in ms, that a session lasts for without being accessed before expiring.- See Also:
-
DEFAULT_NAG_HTTPS
public static final boolean DEFAULT_NAG_HTTPSDefault of whether a nagging log warning should be written if the session handler is accessed over HTTP, not HTTPS- See Also:
-
DEFAULT_COOKIE_HTTP_ONLY_FLAG
public static final boolean DEFAULT_COOKIE_HTTP_ONLY_FLAGDefault of whether the cookie has the HttpOnly flag set More info: https://www.owasp.org/index.php/HttpOnly- See Also:
-
DEFAULT_COOKIE_SECURE_FLAG
public static final boolean DEFAULT_COOKIE_SECURE_FLAGDefault of whether the cookie has the 'secure' flag set to allow transmission over https only. More info: https://www.owasp.org/index.php/SecureFlag- See Also:
-
DEFAULT_SESSIONID_MIN_LENGTH
public static final int DEFAULT_SESSIONID_MIN_LENGTHDefault min length for a session id. More info: https://www.owasp.org/index.php/Session_Management_Cheat_Sheet- See Also:
-
DEFAULT_LAZY_SESSION
public static final boolean DEFAULT_LAZY_SESSIONDefault of whether the session should be created lazily.- See Also:
-
-
Constructor Details
-
SessionHandler
public SessionHandler(io.vertx.ext.web.handler.SessionHandler delegate) -
SessionHandler
-
-
Method Details
-
getDelegate
public io.vertx.ext.web.handler.SessionHandler getDelegate()- Specified by:
getDelegate
in interfaceMutinyDelegate
- Specified by:
getDelegate
in interfacePlatformHandler
- Returns:
- the delegate used by this Mutiny object of generated type
-
toString
-
equals
-
hashCode
public int hashCode() -
handle
- Specified by:
handle
in interfaceio.vertx.core.Handler<RoutingContext>
- Specified by:
handle
in interfacePlatformHandler
-
create
- Parameters:
sessionStore
- the session store- Returns:
- the handler
-
setSessionTimeout
- Parameters:
timeout
- the timeout, in ms.- Returns:
- a reference to this, so the API can be used fluently
-
setNagHttps
- Parameters:
nag
- true to nag- Returns:
- a reference to this, so the API can be used fluently
-
setCookieSecureFlag
- Parameters:
secure
- true to set the secure flag on the cookie- Returns:
- a reference to this, so the API can be used fluently
-
setCookieHttpOnlyFlag
- Parameters:
httpOnly
- true to set the HttpOnly flag on the cookie- Returns:
- a reference to this, so the API can be used fluently
-
setSessionCookieName
- Parameters:
sessionCookieName
- the session cookie name- Returns:
- a reference to this, so the API can be used fluently
-
setSessionCookiePath
- Parameters:
sessionCookiePath
- the session cookie path- Returns:
- a reference to this, so the API can be used fluently
-
setMinLength
- Parameters:
minLength
- the session id minimal length- Returns:
- a reference to this, so the API can be used fluently
-
setCookieSameSite
- Parameters:
policy
- to use,null
for no policy.- Returns:
- a reference to this, so the API can be used fluently
-
setLazySession
- Parameters:
lazySession
- true to have a lazy session creation.- Returns:
- a reference to this, so the API can be used fluently
-
setCookieMaxAge
- Parameters:
cookieMaxAge
- a non negative max-age, note that 0 means expire now.- Returns:
- a reference to this, so the API can be used fluently
-
flush
Flush a context session earlier to the store, this will allow the end user to have full control on the event of a failure at the store level. Once a session is flushed no automatic save will be performed at end of request.Unlike the bare Vert.x variant, this method returns a
Uni
. Don't forget to subscribe on it to trigger the operation.- Parameters:
ctx
- the current context- Returns:
- the
uni
firing the result of the operation when completed, or a failure if the operation failed.
-
flushAndAwait
Blocking variant offlush(io.vertx.mutiny.ext.web.RoutingContext)
.This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).
- Parameters:
ctx
- the current context- Returns:
- the Void instance produced by the operation.
-
flushAndForget
Variant offlush(io.vertx.mutiny.ext.web.RoutingContext)
that ignores the result of the operation.This method subscribes on the result of
flush(io.vertx.mutiny.ext.web.RoutingContext)
, but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation fromflush(io.vertx.mutiny.ext.web.RoutingContext)
but you don't need to compose it with other operations.- Parameters:
ctx
- the current context- Returns:
- the instance of SessionHandler to chain method calls.
-
flush
@CheckReturnValue public io.smallrye.mutiny.Uni<Void> flush(RoutingContext ctx, boolean ignoreStatus) Flush a context session earlier to the store, this will allow the end user to have full control on the event of a failure at the store level. Once a session is flushed no automatic save will be performed at end of request.Unlike the bare Vert.x variant, this method returns a
Uni
. Don't forget to subscribe on it to trigger the operation.- Parameters:
ctx
- the current contextignoreStatus
- flush regardless of response status code- Returns:
- the
uni
firing the result of the operation when completed, or a failure if the operation failed.
-
flushAndAwait
Blocking variant offlush(io.vertx.mutiny.ext.web.RoutingContext,boolean)
.This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).
- Parameters:
ctx
- the current contextignoreStatus
- flush regardless of response status code- Returns:
- the Void instance produced by the operation.
-
flushAndForget
Variant offlush(io.vertx.mutiny.ext.web.RoutingContext,boolean)
that ignores the result of the operation.This method subscribes on the result of
flush(io.vertx.mutiny.ext.web.RoutingContext,boolean)
, but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation fromflush(io.vertx.mutiny.ext.web.RoutingContext,boolean)
but you don't need to compose it with other operations.- Parameters:
ctx
- the current contextignoreStatus
- flush regardless of response status code- Returns:
- the instance of SessionHandler to chain method calls.
-
setCookieless
- Parameters:
cookieless
- true if a cookieless session should be used- Returns:
- a reference to this, so the API can be used fluently
-
newSession
- Parameters:
context
- the routing context- Returns:
- the session
-
setUser
Set the user for the sessionUnlike the bare Vert.x variant, this method returns a
Uni
. Don't forget to subscribe on it to trigger the operation.- Parameters:
context
- the routing contextuser
- the user- Returns:
- the
uni
firing the result of the operation when completed, or a failure if the operation failed.
-
setUserAndAwait
Blocking variant ofsetUser(io.vertx.mutiny.ext.web.RoutingContext,io.vertx.mutiny.ext.auth.User)
.This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).
- Parameters:
context
- the routing contextuser
- the user- Returns:
- the Void instance produced by the operation.
-
setUserAndForget
Variant ofsetUser(io.vertx.mutiny.ext.web.RoutingContext,io.vertx.mutiny.ext.auth.User)
that ignores the result of the operation.This method subscribes on the result of
setUser(io.vertx.mutiny.ext.web.RoutingContext,io.vertx.mutiny.ext.auth.User)
, but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation fromsetUser(io.vertx.mutiny.ext.web.RoutingContext,io.vertx.mutiny.ext.auth.User)
but you don't need to compose it with other operations.- Parameters:
context
- the routing contextuser
- the user- Returns:
- the instance of SessionHandler to chain method calls.
-
accept
- Specified by:
accept
in interfaceConsumer<RoutingContext>
- Specified by:
accept
in interfacePlatformHandler
-
newInstance
-