提交 6b9bd2e3 编写于 作者: T Tom Kadwill

Improve documentation and tests for raw_host_with_port and host_with_port

上级 0f8eefa6
...@@ -217,7 +217,7 @@ def protocol ...@@ -217,7 +217,7 @@ def protocol
@protocol ||= ssl? ? 'https://' : 'http://' @protocol ||= ssl? ? 'https://' : 'http://'
end end
# Returns the \host for this request, such as "example.com". # Returns the \host and port for this request, such as "example.com:8080".
# #
# class Request < Rack::Request # class Request < Rack::Request
# include ActionDispatch::Http::URL # include ActionDispatch::Http::URL
...@@ -226,6 +226,9 @@ def protocol ...@@ -226,6 +226,9 @@ def protocol
# req = Request.new 'HTTP_HOST' => 'example.com' # req = Request.new 'HTTP_HOST' => 'example.com'
# req.raw_host_with_port # => "example.com" # req.raw_host_with_port # => "example.com"
# #
# req = Request.new 'HTTP_HOST' => 'example.com:80'
# req.raw_host_with_port # => "example.com:80"
#
# req = Request.new 'HTTP_HOST' => 'example.com:8080' # req = Request.new 'HTTP_HOST' => 'example.com:8080'
# req.raw_host_with_port # => "example.com:8080" # req.raw_host_with_port # => "example.com:8080"
def raw_host_with_port def raw_host_with_port
...@@ -236,7 +239,7 @@ def raw_host_with_port ...@@ -236,7 +239,7 @@ def raw_host_with_port
end end
end end
# Returns the host for this request, such as example.com. # Returns the host for this request, such as "example.com".
# #
# class Request < Rack::Request # class Request < Rack::Request
# include ActionDispatch::Http::URL # include ActionDispatch::Http::URL
...@@ -249,12 +252,16 @@ def host ...@@ -249,12 +252,16 @@ def host
end end
# Returns a \host:\port string for this request, such as "example.com" or # Returns a \host:\port string for this request, such as "example.com" or
# "example.com:8080". # "example.com:8080". Port is only included if it is not a default port
# (80 or 443)
# #
# class Request < Rack::Request # class Request < Rack::Request
# include ActionDispatch::Http::URL # include ActionDispatch::Http::URL
# end # end
# #
# req = Request.new 'HTTP_HOST' => 'example.com'
# req.host_with_port # => "example.com"
#
# req = Request.new 'HTTP_HOST' => 'example.com:80' # req = Request.new 'HTTP_HOST' => 'example.com:80'
# req.host_with_port # => "example.com" # req.host_with_port # => "example.com"
# #
......
...@@ -417,6 +417,11 @@ class RequestPath < BaseRequestTest ...@@ -417,6 +417,11 @@ class RequestPath < BaseRequestTest
end end
class RequestHost < BaseRequestTest class RequestHost < BaseRequestTest
test "host without specifying port" do
request = stub_request 'HTTP_HOST' => 'rubyonrails.org'
assert_equal "rubyonrails.org", request.host_with_port
end
test "host with default port" do test "host with default port" do
request = stub_request 'HTTP_HOST' => 'rubyonrails.org:80' request = stub_request 'HTTP_HOST' => 'rubyonrails.org:80'
assert_equal "rubyonrails.org", request.host_with_port assert_equal "rubyonrails.org", request.host_with_port
...@@ -427,6 +432,21 @@ class RequestHost < BaseRequestTest ...@@ -427,6 +432,21 @@ class RequestHost < BaseRequestTest
assert_equal "rubyonrails.org:81", request.host_with_port assert_equal "rubyonrails.org:81", request.host_with_port
end end
test "raw without specifying port" do
request = stub_request 'HTTP_HOST' => 'rubyonrails.org'
assert_equal "rubyonrails.org", request.raw_host_with_port
end
test "raw host with default port" do
request = stub_request 'HTTP_HOST' => 'rubyonrails.org:80'
assert_equal "rubyonrails.org:80", request.raw_host_with_port
end
test "raw host with non default port" do
request = stub_request 'HTTP_HOST' => 'rubyonrails.org:81'
assert_equal "rubyonrails.org:81", request.raw_host_with_port
end
test "proxy request" do test "proxy request" do
request = stub_request 'HTTP_HOST' => 'glu.ttono.us:80' request = stub_request 'HTTP_HOST' => 'glu.ttono.us:80'
assert_equal "glu.ttono.us", request.host_with_port assert_equal "glu.ttono.us", request.host_with_port
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册