class Rack::Session::Cookie

Rack::Session::Cookie provides simple cookie based session management. The session is a Ruby Hash stored as base64 encoded marshalled data set to :key (default: rack.session). When the secret key is set, cookie data is checked for data integrity.

Example:

use Rack::Session::Cookie, :key => 'rack.session',
                           :domain => 'foo.com',
                           :path => '/',
                           :expire_after => 2592000,
                           :secret => 'change_me'

All parameters are optional.

Public Class Methods

new(app, options={}) click to toggle source
# File lib/rack/session/cookie.rb, line 26
def initialize(app, options={})
  @app = app
  @key = options[:key] || "rack.session"
  @secret = options[:secret]
  @default_options = {:domain => nil,
    :path => "/",
    :expire_after => nil}.merge(options)
end

Public Instance Methods

call(env) click to toggle source
# File lib/rack/session/cookie.rb, line 35
def call(env)
  load_session(env)
  status, headers, body = @app.call(env)
  commit_session(env, status, headers, body)
end