Class: VertxWeb::SessionHandler

Inherits:
Object
  • Object
show all
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)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


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

Parameters:

Returns:



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
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
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
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
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.

Parameters:



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.

Parameters:

Returns:

  • (self)


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
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.

Parameters:

  • httpOnly (true, false)
    true to set the HttpOnly flag on the cookie

Returns:

  • (self)


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 set_cookie_http_only_flag(*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
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).

Parameters:

  • secure (true, false)
    true to set the secure flag on the cookie

Returns:

  • (self)


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 set_cookie_secure_flag(*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.

Parameters:

  • minLength (Fixnum)
    the session id minimal length

Returns:

  • (self)


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

Parameters:

  • nag (true, false)
    true to nag

Returns:

  • (self)


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
Set the session cookie name

Parameters:

  • sessionCookieName (String)
    the session cookie name

Returns:

  • (self)


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 set_session_cookie_name(*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
Set the session cookie path

Parameters:

  • sessionCookiePath (String)
    the session cookie path

Returns:

  • (self)


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 set_session_cookie_path(*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

Parameters:

  • timeout (Fixnum)
    the timeout, in ms.

Returns:

  • (self)


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