Class: VertxWeb::SessionStore

Inherits:
Object
  • Object
show all
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb

Overview

A session store is used to store sessions for an Vert.x-Web web app

Direct Known Subclasses

ClusteredSessionStore, LocalSessionStore

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


21
22
23
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 21

def @@j_api_type.accept?(obj)
  obj.class == SessionStore
end

+ (::VertxWeb::SessionStore) create(vertx) + (::VertxWeb::SessionStore) create(vertx, options)

Create a Session store given a backend and configuration JSON.

Overloads:

Returns:



137
138
139
140
141
142
143
144
145
146
147
148
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 137

def self.create(*args)
  if args[0].class.method_defined?(:j_del) && !block_given? && args[1] == nil
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtWebSstore::SessionStore.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(args[0].j_del),::VertxWeb::SessionStore)
  elsif args[0].class.method_defined?(:j_del) && args[1].class == Hash && !block_given?
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtWebSstore::SessionStore.java_method(:create, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(args[0].j_del,::Vertx::Util::Utils.to_json_object(args[1])),::VertxWeb::SessionStore)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling create(#{args[0]},#{args[1]})"
  end
end

+ (Object) DEFAULT_SESSIONID_LENGTH

Default length for a session id. More info: https://www.owasp.org/index.php/Session_Management_Cheat_Sheet


225
226
227
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 225

def self.DEFAULT_SESSIONID_LENGTH
  Java::IoVertxExtWebSstore::SessionStore.DEFAULT_SESSIONID_LENGTH
end

+ (Object) j_api_type



30
31
32
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 30

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



33
34
35
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 33

def self.j_class
  Java::IoVertxExtWebSstore::SessionStore.java_class
end

+ (Object) unwrap(obj)



27
28
29
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 27

def @@j_api_type.unwrap(obj)
  obj.j_del
end

+ (Object) wrap(obj)



24
25
26
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 24

def @@j_api_type.wrap(obj)
  SessionStore.new(obj)
end

Instance Method Details

- (void) clear(resultHandler) { ... }

This method returns an undefined value.

Remove all sessions from the store.

Yields:

  • will be called with a success or a failure


114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 114

def clear
  if true
    if (block_given?)
      return @j_del.java_method(:clear, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:clear, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling clear()"
  end
end

- (void) close

This method returns an undefined value.

Close the store


152
153
154
155
156
157
158
159
160
161
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 152

def close
  if !block_given?
    return @j_del.java_method(:close, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling close()"
  end
end

- (::VertxWeb::Session) createSession(timeout) - (::VertxWeb::Session) createSession(timeout, length)

Create a new session.

Overloads:

  • - (::VertxWeb::Session) createSession(timeout)

    Parameters:

    • timeout (Fixnum)
      - the session timeout, in ms
  • - (::VertxWeb::Session) createSession(timeout, length)

    Parameters:

    • timeout (Fixnum)
      - the session timeout, in ms
    • length (Fixnum)
      - the required length for the session id

Returns:



190
191
192
193
194
195
196
197
198
199
200
201
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 190

def create_session(*args)
  if args[0].class == Fixnum && !block_given? && args[1] == nil
    return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:createSession, [Java::long.java_class]).call(args[0]),::VertxWeb::Session)
  elsif args[0].class == Fixnum && args[1].class == Fixnum && !block_given?
    return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:createSession, [Java::long.java_class,Java::int.java_class]).call(args[0],args[1]),::VertxWeb::Session)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling create_session(#{args[0]},#{args[1]})"
  end
end

- (void) delete(id, resultHandler) { ... }

This method returns an undefined value.

Delete the session with the specified ID.

Parameters:

  • id (String)
    the session id

Yields:

  • will be called with a success or a failure


167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 167

def delete(*args)
  if args[0].class == String && true
    if (block_given?)
      return @j_del.java_method(:delete, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:delete, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling delete(#{args[0]})"
  end
end

- (void) get(cookieValue, resultHandler) { ... }

This method returns an undefined value.

Get the session with the specified ID.

Parameters:

  • cookieValue (String)
    the unique ID of the session

Yields:

  • will be called with a result holding the session, or a failure


94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 94

def get(*args)
  if args[0].class == String && true
    if (block_given?)
      return @j_del.java_method(:get, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxWeb::Session) : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:get, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxWeb::Session) : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::VertxWeb::Session.j_api_type)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get(#{args[0]})"
  end
end

- (self) init(vertx, options)

Initialize this store.

Parameters:

  • vertx (::Vertx::Vertx)
    the vertx instance
  • options (Hash{String => Object})
    optional Json with extra configuration options

Returns:

  • (self)


41
42
43
44
45
46
47
48
49
50
51
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 41

def init(*args)
  if args[0].class.method_defined?(:j_del) && args[1].class == Hash && !block_given?
    @j_del.java_method(:init, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(args[0].j_del,::Vertx::Util::Utils.to_json_object(args[1]))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling init(#{args[0]},#{args[1]})"
  end
end

- (void) put(session, resultHandler) { ... }

This method returns an undefined value.

Add a session with the specified ID.

Parameters:

Yields:

  • will be called with a success or a failure


207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 207

def put(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      return @j_del.java_method(:put, [Java::IoVertxExtWeb::Session.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:put, [Java::IoVertxExtWeb::Session.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling put(#{args[0]})"
  end
end

- (Fixnum) retryTimeout

The retry timeout value in milli seconds used by the session handler when it retrieves a value from the store.

A non positive value means there is no retry at all.

Returns:

  • (Fixnum)
    the timeout value, in ms


79
80
81
82
83
84
85
86
87
88
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 79

def retry_timeout
  if !block_given?
    return @j_del.java_method(:retryTimeout, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling retry_timeout()"
  end
end

- (void) size(resultHandler) { ... }

This method returns an undefined value.

Get the number of sessions in the store.

Beware of the result which is just an estimate, in particular with distributed session stores.

Yields:

  • will be called with the number, or a failure


58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 58

def size
  if true
    if (block_given?)
      return @j_del.java_method(:size, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:size, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling size()"
  end
end