photomix/app/middleware/flash_session_cookie_middleware.rb

20 lines
572 B
Ruby
Raw Normal View History

2009-06-02 00:08:57 +02:00
require 'rack/utils'
class FlashSessionCookieMiddleware
def initialize(app, session_key = '_session_id')
@app = app
@session_key = session_key
end
def call(env)
if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
2010-09-17 17:57:33 +02:00
req = Rack::Request.new(env)
env['HTTP_COOKIE'] = [ @session_key,
2010-11-17 15:50:47 +01:00
req.params[@session_key] ].join('=').freeze unless req.params[@session_key].nil?
env['HTTP_ACCEPT'] = "#{req.params['_http_accept']}".freeze unless req.params['_http_accept'].nil?
2009-06-02 00:08:57 +02:00
end
2009-06-02 00:08:57 +02:00
@app.call(env)
end
2010-11-17 15:50:47 +01:00
end