Я использую класс промежуточного программного обеспечения в приложениях Rack, Ruby on Rails и Sinatra.
Стойочное приложение
config.ru:
use Rack::Session::Cookie, key: '_dummy_session', secret: '...'
use MyMiddleware
run Dummy.new
Приложение Ruby on Rails
config/initializers/secret_token.rb:
Dummy::Application.config.secret_key_base = '...'
config/initializers/session_store.rb:
Dummy::Application.config.session_store :cookie_store, key: '_dummy_session'
config/initializers/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
Как я могу получить имя файла cookie сеанса ('_dummy_session') в методе MyMiddleware#call
?
'_dummy_session'
? - person iain   schedule 06.08.2013env
после вызова@app.call(env)
, вы увидите сеанс внутри него. Посмотрите в env для"HTTP_COOKIE"
,"rack.request.cookie_hash"
и внутри последнего"rack.request.cookie_string"
. - person iain   schedule 06.08.2013