Sha256: f5aedcb6e550442ad1c80f7634d4e339940aad63cd90e48df539e6ac5651a220

Contents?: true

Size: 1.04 KB

Versions: 5

Compression:

Stored size: 1.04 KB

Contents

module RubyApp

  module Rack

    class Session
      require 'ruby_app'

      def initialize(application)
        @application = application
      end

      def call(environment)
        RubyApp::Session.load!(RubyApp::Request.cookies['_session'])
        begin
          #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)} RubyApp::Session.session_id=#{RubyApp::Session.session_id.inspect}")
          #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)} RubyApp::Session.expires=#{RubyApp::Session.expires.inspect}")
          #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)}                    (now)=#{Time.now.inspect}")
          RubyApp::Response.set_cookie('_session', { :value    => RubyApp::Session.session_id,
                                                     :expires  => RubyApp::Session.expires,
                                                     :path     => '/'})
          return @application.call(environment)
        ensure
          RubyApp::Session.unload!
        end
      end

    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
RubyApp-0.2.4 lib/ruby_app/rack/session.rb
RubyApp-0.2.3 lib/ruby_app/rack/session.rb
RubyApp-0.2.2 lib/ruby_app/rack/session.rb
RubyApp-0.2.1 lib/ruby_app/rack/session.rb
RubyApp-0.2.0 lib/ruby_app/rack/session.rb