diff options
Diffstat (limited to 'actionpack/lib/action_dispatch')
5 files changed, 19 insertions, 7 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/best_standards_support.rb b/actionpack/lib/action_dispatch/middleware/best_standards_support.rb new file mode 100644 index 0000000000..df8f7766bb --- /dev/null +++ b/actionpack/lib/action_dispatch/middleware/best_standards_support.rb @@ -0,0 +1,13 @@ +module ActionDispatch + class BestStandardsSupport + def initialize(app) + @app = app + end + + def call(env) + status, headers, body = @app.call(env) + headers["X-UA-Compatible"] = "IE=Edge,chrome=1" + [status, headers, body] + end + end +end diff --git a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb index ad98249468..dd82294644 100644 --- a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb +++ b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb @@ -191,11 +191,8 @@ module ActionDispatch def load_session(env) stale_session_check! do - if sid = current_session_id(env) - sid, session = get_session(env, sid) - else - sid, session = generate_sid, {} - end + sid = current_session_id(env) + sid, session = get_session(env, sid) [sid, session] end end diff --git a/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb b/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb index 5304440418..28e3dbd732 100644 --- a/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb +++ b/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb @@ -25,6 +25,7 @@ module ActionDispatch private def get_session(env, sid) + sid ||= generate_sid begin session = @pool.get(sid) || {} rescue MemCache::MemCacheError, Errno::ECONNREFUSED diff --git a/actionpack/lib/action_dispatch/railtie.rb b/actionpack/lib/action_dispatch/railtie.rb index ed93211255..a3af37947a 100644 --- a/actionpack/lib/action_dispatch/railtie.rb +++ b/actionpack/lib/action_dispatch/railtie.rb @@ -7,10 +7,11 @@ module ActionDispatch config.action_dispatch.x_sendfile_header = "" config.action_dispatch.ip_spoofing_check = true config.action_dispatch.show_exceptions = true + config.action_dispatch.best_standards_support = true # Prepare dispatcher callbacks and run 'prepare' callbacks initializer "action_dispatch.prepare_dispatcher" do |app| ActionDispatch::Callbacks.to_prepare { app.routes_reloader.execute_if_updated } end end -end
\ No newline at end of file +end diff --git a/actionpack/lib/action_dispatch/routing/url_for.rb b/actionpack/lib/action_dispatch/routing/url_for.rb index 9b42f26289..ba93ff8630 100644 --- a/actionpack/lib/action_dispatch/routing/url_for.rb +++ b/actionpack/lib/action_dispatch/routing/url_for.rb @@ -20,7 +20,7 @@ module ActionDispatch # <%= link_to('Click here', :controller => 'users', # :action => 'new', :message => 'Welcome!') %> # - # #=> Generates a link to: /users/new?message=Welcome%21 + # # Generates a link to /users/new?message=Welcome%21 # # link_to, and all other functions that require URL generation functionality, # actually use ActionController::UrlFor under the hood. And in particular, |