aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2012-07-23 13:50:48 -0300
committerSantiago Pastorino <santiago@wyeworks.com>2012-07-23 14:34:13 -0300
commit449039a86d802871b707dfb51ac1ed96d53526f9 (patch)
treec700ec596a2cb57400383adb1005723a2182a374
parent998189abde4caee6f325c273afe2d1dc562ad805 (diff)
downloadrails-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.rb4
-rw-r--r--actionpack/lib/action_dispatch/middleware/head.rb18
-rw-r--r--actionpack/test/abstract_unit.rb2
-rw-r--r--actionpack/test/dispatch/request_test.rb8
-rw-r--r--railties/lib/rails/application.rb2
-rw-r--r--railties/test/application/middleware_test.rb2
-rw-r--r--railties/test/application/rack/logger_test.rb8
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