Class: VertxWeb::SessionHandler
- Inherits:
-
Object
- Object
- VertxWeb::SessionHandler
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb
Overview
A handler that maintains a 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 .
Constant Summary
- @@j_api_type =
Object.new
Class Method Summary (collapse)
- + (Boolean) accept?(obj)
-
+ (::VertxWeb::SessionHandler) create(sessionStore)
Create a session handler.
-
+ (Object) DEFAULT_COOKIE_HTTP_ONLY_FLAG
Default of whether the cookie has the HttpOnly flag set More info: https://www.owasp.org/index.php/HttpOnly.
-
+ (Object) DEFAULT_COOKIE_SECURE_FLAG
Default of whether the cookie has the 'secure' flag set to allow transmission over https only.
-
+ (Object) DEFAULT_NAG_HTTPS
Default of whether a nagging log warning should be written if the session handler is accessed over HTTP, not HTTPS.
-
+ (Object) DEFAULT_SESSION_COOKIE_NAME
Default name of session cookie.
-
+ (Object) DEFAULT_SESSION_COOKIE_PATH
Default path of session cookie.
-
+ (Object) DEFAULT_SESSION_TIMEOUT
Default time, in ms, that a session lasts for without being accessed before expiring.
-
+ (Object) DEFAULT_SESSIONID_MIN_LENGTH
Default min length for a session id.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
Instance Method Summary (collapse)
-
- (void) handle(event)
Something has happened, so handle it.
-
- (self) setAuthProvider(authProvider)
Set an auth provider that will allow retrieving the User object from the session to the current routing context.
-
- (self) setCookieHttpOnlyFlag(httpOnly)
Sets whether the 'HttpOnly' flag should be set for the session cookie.
-
- (self) setCookieSecureFlag(secure)
Sets whether the 'secure' flag should be set for the session cookie.
-
- (self) setMinLength(minLength)
Set expected session id minimum length.
-
- (self) setNagHttps(nag)
Set whether a nagging log warning should be written if the session handler is accessed over HTTP, not HTTPS.
-
- (self) setSessionCookieName(sessionCookieName)
Set the session cookie name.
-
- (self) setSessionCookiePath(sessionCookiePath)
Set the session cookie path.
-
- (self) setSessionTimeout(timeout)
Set the session timeout.
Class Method Details
+ (Boolean) accept?(obj)
29 30 31 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 29 def @@j_api_type.accept?(obj) obj.class == SessionHandler end |
+ (::VertxWeb::SessionHandler) create(sessionStore)
Create a session handler
174 175 176 177 178 179 180 181 182 183 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 174 def self.create(*args) if args[0].class.method_defined?(:j_del) && !block_given? return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtWebHandler::SessionHandler.java_method(:create, [Java::IoVertxExtWebSstore::SessionStore.java_class]).call(args[0].j_del),::VertxWeb::SessionHandler) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling create(#{args[0]})" end end |
+ (Object) DEFAULT_COOKIE_HTTP_ONLY_FLAG
Default of whether the cookie has the HttpOnly flag set More info:
https://www.owasp.org/index.php/HttpOnly
218 219 220 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 218 def self.DEFAULT_COOKIE_HTTP_ONLY_FLAG Java::IoVertxExtWebHandler::SessionHandler.DEFAULT_COOKIE_HTTP_ONLY_FLAG end |
+ (Object) DEFAULT_COOKIE_SECURE_FLAG
Default of whether the cookie has the 'secure' flag set to allow transmission
over https only. More info: https://www.owasp.org/index.php/SecureFlag
223 224 225 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 223 def self.DEFAULT_COOKIE_SECURE_FLAG Java::IoVertxExtWebHandler::SessionHandler.DEFAULT_COOKIE_SECURE_FLAG end |
+ (Object) DEFAULT_NAG_HTTPS
Default of whether a nagging log warning should be written if the session
handler is accessed over HTTP, not HTTPS
213 214 215 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 213 def self.DEFAULT_NAG_HTTPS Java::IoVertxExtWebHandler::SessionHandler.DEFAULT_NAG_HTTPS end |
+ (Object) DEFAULT_SESSION_COOKIE_NAME
Default name of session cookie
199 200 201 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 199 def self.DEFAULT_SESSION_COOKIE_NAME Java::IoVertxExtWebHandler::SessionHandler.DEFAULT_SESSION_COOKIE_NAME end |
+ (Object) DEFAULT_SESSION_COOKIE_PATH
Default path of session cookie
203 204 205 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 203 def self.DEFAULT_SESSION_COOKIE_PATH Java::IoVertxExtWebHandler::SessionHandler.DEFAULT_SESSION_COOKIE_PATH end |
+ (Object) DEFAULT_SESSION_TIMEOUT
Default time, in ms, that a session lasts for without being accessed before
expiring.
208 209 210 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 208 def self.DEFAULT_SESSION_TIMEOUT Java::IoVertxExtWebHandler::SessionHandler.DEFAULT_SESSION_TIMEOUT end |
+ (Object) DEFAULT_SESSIONID_MIN_LENGTH
Default min length for a session id. More info:
https://www.owasp.org/index.php/Session_Management_Cheat_Sheet
228 229 230 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 228 def self.DEFAULT_SESSIONID_MIN_LENGTH Java::IoVertxExtWebHandler::SessionHandler.DEFAULT_SESSIONID_MIN_LENGTH end |
+ (Object) j_api_type
38 39 40 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 38 def self.j_api_type @@j_api_type end |
+ (Object) j_class
41 42 43 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 41 def self.j_class Java::IoVertxExtWebHandler::SessionHandler.java_class end |
+ (Object) unwrap(obj)
35 36 37 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 35 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
32 33 34 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 32 def @@j_api_type.wrap(obj) SessionHandler.new(obj) end |
Instance Method Details
- (void) handle(event)
This method returns an undefined value.
Something has happened, so handle it.
188 189 190 191 192 193 194 195 196 197 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 188 def handle(*args) if args[0].class.method_defined?(:j_del) && !block_given? return @j_del.java_method(:handle, [Java::IoVertxExtWeb::RoutingContext.java_class]).call(args[0].j_del) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling handle(#{args[0]})" end end |
- (self) setAuthProvider(authProvider)
Set an auth provider that will allow retrieving the User object from the session to the current routing context.
128 129 130 131 132 133 134 135 136 137 138 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 128 def set_auth_provider(*args) if args[0].class.method_defined?(:j_del) && !block_given? @j_del.java_method(:setAuthProvider, [Java::IoVertxExtAuth::AuthProvider.java_class]).call(args[0].j_del) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_auth_provider(#{args[0]})" end end |
- (self) setCookieHttpOnlyFlag(httpOnly)
Sets whether the 'HttpOnly' flag should be set for the session cookie. When
set this flag instructs browsers to prevent Javascript access to the the
cookie. Used as a line of defence against the most common XSS attacks.
50 51 52 53 54 55 56 57 58 59 60 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 50 def (*args) if (args[0].class == TrueClass || args[0].class == FalseClass) && !block_given? @j_del.java_method(:setCookieHttpOnlyFlag, [Java::boolean.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_cookie_http_only_flag(#{args[0]})" end end |
- (self) setCookieSecureFlag(secure)
Sets whether the 'secure' flag should be set for the session cookie. When set
this flag instructs browsers to only send the cookie over HTTPS. Note that
this will probably stop your sessions working if used without HTTPS (e.g. in
development).
83 84 85 86 87 88 89 90 91 92 93 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 83 def (*args) if (args[0].class == TrueClass || args[0].class == FalseClass) && !block_given? @j_del.java_method(:setCookieSecureFlag, [Java::boolean.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_cookie_secure_flag(#{args[0]})" end end |
- (self) setMinLength(minLength)
Set expected session id minimum length.
98 99 100 101 102 103 104 105 106 107 108 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 98 def set_min_length(*args) if args[0].class == Fixnum && !block_given? @j_del.java_method(:setMinLength, [Java::int.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_min_length(#{args[0]})" end end |
- (self) setNagHttps(nag)
Set whether a nagging log warning should be written if the session handler is
accessed over HTTP, not HTTPS
159 160 161 162 163 164 165 166 167 168 169 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 159 def set_nag_https(*args) if (args[0].class == TrueClass || args[0].class == FalseClass) && !block_given? @j_del.java_method(:setNagHttps, [Java::boolean.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_nag_https(#{args[0]})" end end |
- (self) setSessionCookieName(sessionCookieName)
Set the session cookie name
113 114 115 116 117 118 119 120 121 122 123 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 113 def (*args) if args[0].class == String && !block_given? @j_del.java_method(:setSessionCookieName, [Java::java.lang.String.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_session_cookie_name(#{args[0]})" end end |
- (self) setSessionCookiePath(sessionCookiePath)
Set the session cookie path
143 144 145 146 147 148 149 150 151 152 153 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 143 def (*args) if args[0].class == String && !block_given? @j_del.java_method(:setSessionCookiePath, [Java::java.lang.String.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_session_cookie_path(#{args[0]})" end end |
- (self) setSessionTimeout(timeout)
Set the session timeout
65 66 67 68 69 70 71 72 73 74 75 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_handler.rb', line 65 def set_session_timeout(*args) if args[0].class == Fixnum && !block_given? @j_del.java_method(:setSessionTimeout, [Java::long.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_session_timeout(#{args[0]})" end end |