Sha256: f492267b9bc5a2e036a8f4af7fe1d8f52ca1a04ae441f4cfa9dcd6342a7638de

Contents?: true

Size: 644 Bytes

Versions: 1

Compression:

Stored size: 644 Bytes

Contents

require 'rack/utils'

module Saphira
  module Middleware
    class FlashSessionCookie
      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/
          req = Rack::Request.new(env)
          env['HTTP_COOKIE'] = [ @session_key,
            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?
        end

        @app.call(env)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
saphira-0.1.1.beta1 lib/saphira/middleware/flash_session_cookie.rb