aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-05-30 09:36:08 -0500
committerJoshua Peek <josh@joshpeek.com>2009-05-30 09:36:08 -0500
commita1140a10318a79b5dace11679f654c33f477ef57 (patch)
tree6bc8c1c8d243bd36bf4be633c389bf1f6b35e9db /actionpack
parent54984f0f245cd67999c23112dfa841a4d0bd66f2 (diff)
downloadrails-a1140a10318a79b5dace11679f654c33f477ef57.tar.gz
rails-a1140a10318a79b5dace11679f654c33f477ef57.tar.bz2
rails-a1140a10318a79b5dace11679f654c33f477ef57.zip
Revert "Only save the session if we're actually writing to it [#2703 state:resolved]"
This reverts commit dd98280e38d640f5724887cf8a715b79f0439d2d.
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch/middleware/session/abstract_store.rb11
-rw-r--r--actionpack/test/activerecord/active_record_store_test.rb22
-rw-r--r--actionpack/test/dispatch/session/mem_cache_store_test.rb8
3 files changed, 1 insertions, 40 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb
index 6d109f4624..03761b10bd 100644
--- a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb
+++ b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb
@@ -15,7 +15,6 @@ module ActionDispatch
@by = by
@env = env
@loaded = false
- @updated = false
end
def session_id
@@ -33,7 +32,6 @@ module ActionDispatch
def []=(key, value)
load! unless @loaded
super(key.to_s, value)
- @updated = true
end
def to_hash
@@ -81,10 +79,6 @@ module ActionDispatch
@loaded
end
- def updated?
- @updated
- end
-
def load!
stale_session_check! do
id, session = @by.send(:load_session, @env)
@@ -153,10 +147,7 @@ module ActionDispatch
options = env[ENV_SESSION_OPTIONS_KEY]
if !session_data.is_a?(AbstractStore::SessionHash) || session_data.send(:loaded?) || options[:expire_after]
- if session_data.is_a?(AbstractStore::SessionHash)
- session_data.send(:load!) if !session_data.send(:loaded?)
- return response if !session_data.send(:updated?)
- end
+ session_data.send(:load!) if session_data.is_a?(AbstractStore::SessionHash) && !session_data.send(:loaded?)
sid = options[:id] || generate_sid
diff --git a/actionpack/test/activerecord/active_record_store_test.rb b/actionpack/test/activerecord/active_record_store_test.rb
index 9ac33b3417..47f8496181 100644
--- a/actionpack/test/activerecord/active_record_store_test.rb
+++ b/actionpack/test/activerecord/active_record_store_test.rb
@@ -22,11 +22,6 @@ class ActiveRecordStoreTest < ActionController::IntegrationTest
render :text => "foo: #{session[:foo].inspect}"
end
- def set_cookie_and_get_session_value
- cookies["kittens"] = { :value => "fluffy" }
- render :text => "foo: #{session[:foo].inspect}"
- end
-
def get_session_id
session[:foo]
render :text => "#{request.session_options[:id]}"
@@ -83,23 +78,6 @@ class ActiveRecordStoreTest < ActionController::IntegrationTest
end
end
- def test_getting_session_value_does_not_set_cookie
- with_test_route_set do
- get '/get_session_value'
- assert_response :success
- assert_equal "", headers["Set-Cookie"]
- end
- end
-
- def test_getting_session_value_and_setting_a_cookie_doesnt_delete_all_cookies
- with_test_route_set do
- get '/set_cookie_and_get_session_value'
- assert_response :success
- assert_equal 'foo: nil', response.body
- assert_equal({"kittens" => "fluffy"}, response.cookies)
- end
- end
-
def test_setting_session_value_after_session_reset
with_test_route_set do
get '/set_session_value'
diff --git a/actionpack/test/dispatch/session/mem_cache_store_test.rb b/actionpack/test/dispatch/session/mem_cache_store_test.rb
index 278f2c83ea..7561c93e4a 100644
--- a/actionpack/test/dispatch/session/mem_cache_store_test.rb
+++ b/actionpack/test/dispatch/session/mem_cache_store_test.rb
@@ -61,14 +61,6 @@ class MemCacheStoreTest < ActionController::IntegrationTest
end
end
- def test_getting_session_value_does_not_set_cookie
- with_test_route_set do
- get '/get_session_value'
- assert_response :success
- assert_equal "", headers["Set-Cookie"]
- end
- end
-
def test_setting_session_value_after_session_reset
with_test_route_set do
get '/set_session_value'