diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2012-07-23 13:50:48 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2012-07-23 14:34:13 -0300 |
commit | 449039a86d802871b707dfb51ac1ed96d53526f9 (patch) | |
tree | c700ec596a2cb57400383adb1005723a2182a374 | |
parent | 998189abde4caee6f325c273afe2d1dc562ad805 (diff) | |
download | rails-449039a86d802871b707dfb51ac1ed96d53526f9.tar.gz rails-449039a86d802871b707dfb51ac1ed96d53526f9.tar.bz2 rails-449039a86d802871b707dfb51ac1ed96d53526f9.zip |
Remove ActionDispatch::Head middleware in favor of Rack::Head
Closes #7110 there's more work to do on rack-cache issue 69
-rw-r--r-- | actionpack/lib/action_dispatch/http/request.rb | 4 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/head.rb | 18 | ||||
-rw-r--r-- | actionpack/test/abstract_unit.rb | 2 | ||||
-rw-r--r-- | actionpack/test/dispatch/request_test.rb | 8 | ||||
-rw-r--r-- | railties/lib/rails/application.rb | 2 | ||||
-rw-r--r-- | railties/test/application/middleware_test.rb | 2 | ||||
-rw-r--r-- | railties/test/application/rack/logger_test.rb | 8 |
7 files changed, 12 insertions, 32 deletions
diff --git a/actionpack/lib/action_dispatch/http/request.rb b/actionpack/lib/action_dispatch/http/request.rb index 8cea17c7a6..1377e53ce8 100644 --- a/actionpack/lib/action_dispatch/http/request.rb +++ b/actionpack/lib/action_dispatch/http/request.rb @@ -119,9 +119,9 @@ module ActionDispatch end # Is this a HEAD request? - # Equivalent to <tt>request.method_symbol == :head</tt>. + # Equivalent to <tt>request.request_method_symbol == :head</tt>. def head? - HTTP_METHOD_LOOKUP[method] == :head + HTTP_METHOD_LOOKUP[request_method] == :head end # Provides access to the request's HTTP headers, for example: diff --git a/actionpack/lib/action_dispatch/middleware/head.rb b/actionpack/lib/action_dispatch/middleware/head.rb deleted file mode 100644 index f1906a3ab3..0000000000 --- a/actionpack/lib/action_dispatch/middleware/head.rb +++ /dev/null @@ -1,18 +0,0 @@ -module ActionDispatch - class Head - def initialize(app) - @app = app - end - - def call(env) - if env["REQUEST_METHOD"] == "HEAD" - env["REQUEST_METHOD"] = "GET" - env["rack.methodoverride.original_method"] = "HEAD" - status, headers, _ = @app.call(env) - [status, headers, []] - else - @app.call(env) - end - end - end -end diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb index 37deb9c98a..8c7f6474e5 100644 --- a/actionpack/test/abstract_unit.rb +++ b/actionpack/test/abstract_unit.rb @@ -171,7 +171,7 @@ class ActionDispatch::IntegrationTest < ActiveSupport::TestCase middleware.use "ActionDispatch::ParamsParser" middleware.use "ActionDispatch::Cookies" middleware.use "ActionDispatch::Flash" - middleware.use "ActionDispatch::Head" + middleware.use "Rack::Head" yield(middleware) if block_given? end end diff --git a/actionpack/test/dispatch/request_test.rb b/actionpack/test/dispatch/request_test.rb index 54fc1b208d..a434e49dbd 100644 --- a/actionpack/test/dispatch/request_test.rb +++ b/actionpack/test/dispatch/request_test.rb @@ -461,14 +461,6 @@ class RequestTest < ActiveSupport::TestCase end end - test "head masquerading as get" do - request = stub_request 'REQUEST_METHOD' => 'GET', "rack.methodoverride.original_method" => "HEAD" - assert_equal "HEAD", request.method - assert_equal "GET", request.request_method - assert request.get? - assert request.head? - end - test "post masquerading as patch" do request = stub_request 'REQUEST_METHOD' => 'PATCH', "rack.methodoverride.original_method" => "POST" assert_equal "POST", request.method diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index da5b33c0fb..048219002d 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -310,7 +310,7 @@ module Rails end middleware.use ::ActionDispatch::ParamsParser - middleware.use ::ActionDispatch::Head + middleware.use ::Rack::Head middleware.use ::Rack::ConditionalGet middleware.use ::Rack::ETag, "no-cache" diff --git a/railties/test/application/middleware_test.rb b/railties/test/application/middleware_test.rb index ba747bc633..9c9ed0cd6b 100644 --- a/railties/test/application/middleware_test.rb +++ b/railties/test/application/middleware_test.rb @@ -45,7 +45,7 @@ module ApplicationTests "ActionDispatch::Session::CookieStore", "ActionDispatch::Flash", "ActionDispatch::ParamsParser", - "ActionDispatch::Head", + "Rack::Head", "Rack::ConditionalGet", "Rack::ETag", "ActionDispatch::BestStandardsSupport" diff --git a/railties/test/application/rack/logger_test.rb b/railties/test/application/rack/logger_test.rb index 46fd09cb26..2f5bd3a764 100644 --- a/railties/test/application/rack/logger_test.rb +++ b/railties/test/application/rack/logger_test.rb @@ -26,12 +26,18 @@ module ApplicationTests @logs ||= @logger.logged(:info) end - test "logger logs proper HTTP verb and path" do + test "logger logs proper HTTP GET verb and path" do get "/blah" wait assert_match(/^Started GET "\/blah"/, logs[0]) end + test "logger logs proper HTTP HEAD verb and path" do + head "/blah" + wait + assert_match(/^Started HEAD "\/blah"/, logs[0]) + end + test "logger logs HTTP verb override" do post "/", {:_method => 'put'} wait |