To read the Rails session from a Rack middleware, use env['rack.session']
. It's an ActionDispatch::Request::Session
object.
class MyMiddlware
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
session = env['rack.session']
Rails.logger.info("Value of session['foo'] is: " + session['foo'].inspect)
[status, headers, body]
end
end
You may not be able to write to the session this way (I haven't tested this).
Posted by Henning Koch to makandra dev (2022-07-29 10:26)