У меня есть приложение Sinatra, использующее Rack :: Session :: Cookie
use Rack::Session::Cookie, :key => 'my.key',
:path => '/',
:expire_after => 3600, # In seconds
:secret => 'something'
У меня есть одно место в сеансе, где я устанавливаю данные, и я делаю дамп сеанса, который составляет около 600 байтов прямо перед вызовом erb
puts "session is #{session.inspect}" ==> 400 bytes of text
Тогда я получу
Warning! Rack::Session::Cookie data size exceeds 4K.
Warning! Rack::Session::Cookie failed to save session. Content dropped.
Забавно, похоже, все работает: все, что я установил на сессии, возвращается ко мне при следующем ударе. Размер сеанса, указанный в окне разработки Safari, составляет 1195 байт, и все это выглядит зашифрованным и т. Д.
Есть идеи о том, как это может происходить? Похоже, что сообщение является ложным, но, глядя на код Rack: Session - кажется, что что-то сбрасывается ...