我在Rack,Ruby on Rails和Sinatra应用程序中使用中间件类。
机架应用程序
config.ru:
use Rack::Session::Cookie, key: '_dummy_session', secret: '...'
use MyMiddleware
run Dummy.new
Ruby on Rails应用程序
配置/初始化/ secret_token.rb:
Dummy::Application.config.secret_key_base = '...'
配置/初始化/ session_store.rb:
Dummy::Application.config.session_store :cookie_store, key: '_dummy_session'
配置/初始化/ my_middleware.rb:
Dummy::Application.config.middleware.use 'MyMiddleware'
中间件类
LIB / my_middleware.rb:
class MyMiddleware
def initialize(app)
@app = app
end
def call(env)
...
@app.call(env)
end
end
如何在MyMiddleware#call
方法中获取会话cookie的名称('_dummy_session')?