Handle existing rack.session where the app modifies session vars #411

Merged
merged 1 commit into from Aug 26, 2012

Projects

None yet

3 participants

Contributor
jamie commented Jul 19, 2012

ID#prepare_session calls merge! on the newly-created SessionHash, but this method is not overridden to parse existing data. As such, if the app modifies session values, it winds up discarding the entire previous session.

I saw there was already a spec for a non-session-modifying app which ran fine, but failed exactly like I was experiencing when I used the example incrementing app.

For me, this was breaking Rack::Test while testing a Sinatra app.

@jamie jamie load session data for merge!
ID#prepare_session calls merge! on the newly-created SessionHash, but
this method is not overridden to parse existing data. As such, any
previous session data passed in from an earlier middleware is discarded.

For me, this was breaking Rack::Test while testing a Sinatra app.
630c4c3

This pull request passes (merged 630c4c3 into e4172e7).

@raggi raggi merged commit 03b1d6f into rack:master Aug 26, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment