Class List Method List File List

# Class: VertxWeb::SessionHandler

Inherits:
  Object
  - Object
  - VertxWeb::SessionHandler
  show all
Defined in:
  /Users/julien/java/vertx-stack/stack-docs/target/rb/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 .

The session handler requires a CookieHandler to be on the routing chain before it.

## Constant Summary

@@j_api_type =

      Object.new

## Class Method Summary (collapse)

- + (Boolean) accept?(obj)
- + (::VertxWeb::SessionHandler) create(sessionStore = nil)
  Create a session handler.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)

## Instance Method Summary (collapse)

- - (void) handle(arg0 = nil)
- - (self) set_cookie_http_only_flag(httpOnly = nil)
  Sets whether the 'HttpOnly' flag should be set for the session cookie.
- - (self) set_cookie_secure_flag(secure = nil)
  Sets whether the 'secure' flag should be set for the session cookie.
- - (self) set_min_length(minLength = nil)
  Set expected session id minimum length.
- - (self) set_nag_https(nag = nil)
  Set whether a nagging log warning should be written if the session handler is accessed over HTTP, not HTTPS.
- - (self) set_session_cookie_name(sessionCookieName = nil)
  Set the session cookie name.
- - (self) set_session_timeout(timeout = nil)
  Set the session timeout.

## Class Method Details

### + (`Boolean`) accept?(obj)

Returns:

- (`Boolean`)

    26
    27
    28
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 26

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

### + (`::VertxWeb::SessionHandler`) create(sessionStore = nil)

Create a session handler

Parameters:

- sessionStore (`::VertxWeb::SessionStore`) (defaults to: `nil`) —
  the session store

Returns:

- (`::VertxWeb::SessionHandler`) —
  the handler

Raises:

- (`ArgumentError`)

    52
    53
    54
    55
    56
    57
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 52

    def self.create(sessionStore=nil)
      if sessionStore.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(sessionStore.j_del),::VertxWeb::SessionHandler)
      end
      raise ArgumentError, "Invalid arguments when calling create(#{sessionStore})"
    end

### + (`Object`) j_api_type

    35
    36
    37
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 35

    def self.j_api_type
      @@j_api_type
    end

### + (`Object`) j_class

    38
    39
    40
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 38

    def self.j_class
      Java::IoVertxExtWebHandler::SessionHandler.java_class
    end

### + (`Object`) unwrap(obj)

    32
    33
    34
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 32

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

### + (`Object`) wrap(obj)

    29
    30
    31
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 29

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

## Instance Method Details

### - (`void`) handle(arg0 = nil)

This method returns an undefined value.

Parameters:

- arg0 (`::VertxWeb::RoutingContext`) (defaults to: `nil`)

Raises:

- (`ArgumentError`)

    43
    44
    45
    46
    47
    48
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 43

    def handle(arg0=nil)
      if arg0.class.method_defined?(:j_del) && !block_given?
        return @j_del.java_method(:handle, [Java::IoVertxExtWeb::RoutingContext.java_class]).call(arg0.j_del)
      end
      raise ArgumentError, "Invalid arguments when calling handle(#{arg0})"
    end

### - (`self`) set_cookie_http_only_flag(httpOnly = nil)

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`) (defaults to: `nil`) —
  true to set the HttpOnly flag on the cookie

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    94
    95
    96
    97
    98
    99
    100
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 94

    def set_cookie_http_only_flag(httpOnly=nil)
      if (httpOnly.class == TrueClass || httpOnly.class == FalseClass) && !block_given?
        @j_del.java_method(:setCookieHttpOnlyFlag, [Java::boolean.java_class]).call(httpOnly)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_cookie_http_only_flag(#{httpOnly})"
    end

### - (`self`) set_cookie_secure_flag(secure = nil)

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`) (defaults to: `nil`) —
  true to set the secure flag on the cookie

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    83
    84
    85
    86
    87
    88
    89
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 83

    def set_cookie_secure_flag(secure=nil)
      if (secure.class == TrueClass || secure.class == FalseClass) && !block_given?
        @j_del.java_method(:setCookieSecureFlag, [Java::boolean.java_class]).call(secure)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_cookie_secure_flag(#{secure})"
    end

### - (`self`) set_min_length(minLength = nil)

Set expected session id minimum length.

Parameters:

- minLength (`Fixnum`) (defaults to: `nil`) —
  the session id minimal length

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    114
    115
    116
    117
    118
    119
    120
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 114

    def set_min_length(minLength=nil)
      if minLength.class == Fixnum && !block_given?
        @j_del.java_method(:setMinLength, [Java::int.java_class]).call(minLength)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_min_length(#{minLength})"
    end

### - (`self`) set_nag_https(nag = nil)

Set whether a nagging log warning should be written if the session handler is accessed over HTTP, not HTTPS

Parameters:

- nag (`true`, `false`) (defaults to: `nil`) —
  true to nag

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    72
    73
    74
    75
    76
    77
    78
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 72

    def set_nag_https(nag=nil)
      if (nag.class == TrueClass || nag.class == FalseClass) && !block_given?
        @j_del.java_method(:setNagHttps, [Java::boolean.java_class]).call(nag)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_nag_https(#{nag})"
    end

### - (`self`) set_session_cookie_name(sessionCookieName = nil)

Set the session cookie name

Parameters:

- sessionCookieName (`String`) (defaults to: `nil`) —
  the session cookie name

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    104
    105
    106
    107
    108
    109
    110
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 104

    def set_session_cookie_name(sessionCookieName=nil)
      if sessionCookieName.class == String && !block_given?
        @j_del.java_method(:setSessionCookieName, [Java::java.lang.String.java_class]).call(sessionCookieName)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_session_cookie_name(#{sessionCookieName})"
    end

### - (`self`) set_session_timeout(timeout = nil)

Set the session timeout

Parameters:

- timeout (`Fixnum`) (defaults to: `nil`) —
  the timeout, in ms.

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    61
    62
    63
    64
    65
    66
    67
    # File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-web/session_handler.rb', line 61

    def set_session_timeout(timeout=nil)
      if timeout.class == Fixnum && !block_given?
        @j_del.java_method(:setSessionTimeout, [Java::long.java_class]).call(timeout)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_session_timeout(#{timeout})"
    end