Class: Padrino::Contrib::FlashSession::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/padrino-contrib/flash_session.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, session_key = 'session_id') ⇒ Middleware

Returns a new instance of Middleware.



23
24
25
26
# File 'lib/padrino-contrib/flash_session.rb', line 23

def initialize(app, session_key = 'session_id')
  @app = app
  @session_key = session_key.to_s
end

Instance Method Details

#call(env) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/padrino-contrib/flash_session.rb', line 28

def call(env)
  if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
    params = ::Rack::Request.new(env).params
    env['rack.session'] ||= {}
    env['rack.session'][@session_key.to_sym] = params[@session_key] if params[@session_key].present?
  end
  @app.call(env)
end