def call(env)
stores = @pool.pop || @builder.build
env['rack.moneta_cookies'] = env['rack.request.cookie_hash'] = stores.last
env['rack.request.cookie_string'] = env['HTTP_COOKIE']
stores.first.reset(Rack::Utils.parse_query(env['HTTP_COOKIE']))
status, headers, body = @app.call(env)
stores.first.cookies.each do |key, cookie|
if cookie == nil
Rack::Utils.delete_cookie_header!(headers, key)
else
Rack::Utils.set_cookie_header!(headers, key, cookie)
end
end
@pool << stores
[status, headers, body]
end