Sha256: c9000d46753154758bec64892a9273ffcf41529d75aa3e0d509ea4ded7bb59cf

Contents?: true

Size: 451 Bytes

Versions: 9

Compression:

Stored size: 451 Bytes

Contents

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/
      params = ::Rack::Utils.parse_query(env['QUERY_STRING'])
      env['HTTP_COOKIE'] = [ @session_key, params[@session_key] ].join('=').freeze unless params[@session_key].nil?
    end
    @app.call(env)
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
beef-has_assets-0.1.1 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.0 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.1 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.2 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.3 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.5 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.6 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.7 lib/flash_sesion_cookie_middleware.rb
beef-has_assets-0.2.8 lib/flash_sesion_cookie_middleware.rb