I need to set env['rack.session.options'][:defer] to true, so I wrote this middleware:
class SessionIntercepterMiddleware
def initialize(app)
@app = app
end
def call(env)
env['rack.session.options'] = env['rack.session.options'] || {}
env['rack.session.options'][:defer] = true
@app.call(env)
puts "#{env['rack.session.options'][:defer]}"
end
end
And injected between ActionDispatch::Cookies and ActionDispatch::Session::CacheStore (I am using session_store: :cache_store):
config.middleware.insert_after ActionDispatch::Cookies, SessionIntercepterMiddleware
But it doesn't work. The last line (puts...) prints false.
How can I make it work?