Class | Rack::Session::Abstract::ID
In: | lib/rack/session/abstract/id.rb
Parent: | Object

ID sets up a basic framework for implementing an id based sessioning service. Cookies sent to the client for maintaining sessions will only contain an id reference. Only get_session and set_session are required to be overwritten.

All parameters are optional.

- :key determines the name of the cookie, by default it is ‘rack.session‘
- :path, :domain, :expire_after, :secure, and :httponly set the related cookie options as by Rack::Response#add_cookie
- :skip will not a set a cookie in the response nor update the session state
- :defer will not set a cookie in the response but still update the session state if it is used with a backend
- :renew (implementation dependent) will prompt the generation of a new session id, and migration of data to be referenced at the new id. If :defer is set, it will be overridden and the cookie will be set.
- :sidbits sets the number of bits in length that a generated session id will be.

These options can be set on a per request basis, at the location of env. Additionally the id of the session can be found within the options hash at the key :id. It is highly not recommended to change its value.

Is Rack::Utils::Context compatible.

Not included by default; you must require ‘rack/session/abstract/id’ to use.

### Methods

call context new

### Constants

DEFAULT_OPTIONS | = | { :key => 'rack.session', :path => '/', :domain => nil, :expire_after => nil, :secure => false, :httponly => true, :defer => false, :renew => false, :sidbits => 128, :cookie_only => true, :secure_random => (::SecureRandom rescue false)

### Attributes

default_options | [R] |
key | [R] |

### Public Class methods

new(app, options={})

### Public Instance methods

call(env)
context(env, app=@app)

[Validate]