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)


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

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

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

Create a Session store given a backend and configuration JSON.

Parameters:

  • vertx (::Vertx::Vertx) (defaults to: nil)
    vertx instance
  • options (Hash{String => Object}) (defaults to: nil)
    extra options for initialization

Returns:

Raises:

  • (ArgumentError)


38
39
40
41
42
43
44
45
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 38

def self.create(vertx=nil,options=nil)
  if vertx.class.method_defined?(:j_del) && !block_given? && options == nil
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtWebSstore::SessionStore.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(vertx.j_del),::VertxWeb::SessionStore)
  elsif vertx.class.method_defined?(:j_del) && options.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(vertx.j_del,::Vertx::Util::Utils.to_json_object(options)),::VertxWeb::SessionStore)
  end
  raise ArgumentError, "Invalid arguments when calling create(#{vertx},#{options})"
end

+ (Object) DEFAULT_SESSIONID_LENGTH

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


139
140
141
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 139

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

+ (Object) j_api_type



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

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



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

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

+ (Object) unwrap(obj)



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

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

+ (Object) wrap(obj)



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

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

Instance Method Details

- (void) clear { ... }

This method returns an undefined value.

Remove all sessions from the store.

Yields:

  • will be called with a success or a failure

Raises:

  • (ArgumentError)


112
113
114
115
116
117
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 112

def clear
  if block_given?
    return @j_del.java_method(:clear, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling clear()"
end

- (void) close

This method returns an undefined value.

Close the store

Raises:

  • (ArgumentError)


131
132
133
134
135
136
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 131

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

- (::VertxWeb::Session) create_session(timeout = nil, length = nil)

Create a new session.

Parameters:

  • timeout (Fixnum) (defaults to: nil)
    - the session timeout, in ms
  • length (Fixnum) (defaults to: nil)
    - the required length for the session id

Returns:

Raises:

  • (ArgumentError)


71
72
73
74
75
76
77
78
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 71

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

- (void) delete(id = nil) { ... }

This method returns an undefined value.

Delete the session with the specified ID.

Parameters:

  • id (String) (defaults to: nil)
    the session id

Yields:

  • will be called with a success or a failure

Raises:

  • (ArgumentError)


93
94
95
96
97
98
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 93

def delete(id=nil)
  if id.class == String && block_given?
    return @j_del.java_method(:delete, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(id,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling delete(#{id})"
end

- (void) get(cookieValue = nil) { ... }

This method returns an undefined value.

Get the session with the specified ID.

Parameters:

  • cookieValue (String) (defaults to: nil)
    the unique ID of the session

Yields:

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

Raises:

  • (ArgumentError)


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 83

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

- (self) init(vertx = nil, options = nil)

Initialize this store.

Parameters:

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

Returns:

  • (self)

Raises:

  • (ArgumentError)


50
51
52
53
54
55
56
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 50

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

- (void) put(session = nil) { ... }

This method returns an undefined value.

Add a session with the specified ID.

Parameters:

Yields:

  • will be called with a success or a failure

Raises:

  • (ArgumentError)


103
104
105
106
107
108
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 103

def put(session=nil)
  if session.class.method_defined?(:j_del) && block_given?
    return @j_del.java_method(:put, [Java::IoVertxExtWeb::Session.java_class,Java::IoVertxCore::Handler.java_class]).call(session.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling put(#{session})"
end

- (Fixnum) retry_timeout

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

Raises:

  • (ArgumentError)


61
62
63
64
65
66
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 61

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

- (void) size { ... }

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

Raises:

  • (ArgumentError)


123
124
125
126
127
128
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 123

def size
  if block_given?
    return @j_del.java_method(:size, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling size()"
end