0
@@ -3,9 +3,14 @@ require 'action_controller/integration'
0
class RequestTest < Test::Unit::TestCase
0
+ ActionController::Base.relative_url_root = nil
0
@request = ActionController::TestRequest.new
0
+ ActionController::Base.relative_url_root = nil
0
assert_equal '0.0.0.0', @request.remote_ip
0
@@ -38,7 +43,7 @@ class RequestTest < Test::Unit::TestCase
0
@request.env['HTTP_X_FORWARDED_FOR'] = '10.0.0.1,3.4.5.6'
0
assert_equal '3.4.5.6', @request.remote_ip
0
@request.env['HTTP_X_FORWARDED_FOR'] = '10.0.0.1, 10.0.0.1, 3.4.5.6'
0
assert_equal '3.4.5.6', @request.remote_ip
0
@@ -120,155 +125,105 @@ class RequestTest < Test::Unit::TestCase
0
assert_equal ":8080", @request.port_string
0
- def test_relative_url_root
0
- @request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
0
- @request.env['SERVER_SOFTWARE'] = 'lighttpd/1.2.3'
0
- assert_equal '', @request.relative_url_root, "relative_url_root should be disabled on lighttpd"
0
- @request.env['SERVER_SOFTWARE'] = 'apache/1.2.3 some random text'
0
- @request.env['SCRIPT_NAME'] = nil
0
- assert_equal "", @request.relative_url_root
0
- @request.env['SCRIPT_NAME'] = "/dispatch.cgi"
0
- assert_equal "", @request.relative_url_root
0
- @request.env['SCRIPT_NAME'] = "/myapp.rb"
0
- assert_equal "", @request.relative_url_root
0
- @request.relative_url_root = nil
0
- @request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
0
- assert_equal "/hieraki", @request.relative_url_root
0
- @request.relative_url_root = nil
0
- @request.env['SCRIPT_NAME'] = "/collaboration/hieraki/dispatch.cgi"
0
- assert_equal "/collaboration/hieraki", @request.relative_url_root
0
- @request.relative_url_root = nil
0
- @request.env['SCRIPT_NAME'] = "/collaboration/hieraki"
0
- assert_equal "/collaboration/hieraki", @request.relative_url_root
0
- @request.relative_url_root = nil
0
- @request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
0
- @request.env['SERVER_SOFTWARE'] = 'lighttpd/1.2.3'
0
- @request.env['RAILS_RELATIVE_URL_ROOT'] = "/hieraki"
0
- assert_equal "/hieraki", @request.relative_url_root
0
- # @env overrides path guess
0
- @request.relative_url_root = nil
0
- @request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
0
- @request.env['SERVER_SOFTWARE'] = 'apache/1.2.3 some random text'
0
- @request.env['RAILS_RELATIVE_URL_ROOT'] = "/real_url"
0
- assert_equal "/real_url", @request.relative_url_root
0
@request.env['SERVER_SOFTWARE'] = 'Apache 42.342.3432'
0
- @request.relative_url_root = nil
0
@request.set_REQUEST_URI "http://www.rubyonrails.org/path/of/some/uri?mapped=1"
0
assert_equal "/path/of/some/uri?mapped=1", @request.request_uri
0
assert_equal "/path/of/some/uri", @request.path
0
- @request.relative_url_root = nil
0
@request.set_REQUEST_URI "http://www.rubyonrails.org/path/of/some/uri"
0
assert_equal "/path/of/some/uri", @request.request_uri
0
assert_equal "/path/of/some/uri", @request.path
0
- @request.relative_url_root = nil
0
@request.set_REQUEST_URI "/path/of/some/uri"
0
assert_equal "/path/of/some/uri", @request.request_uri
0
assert_equal "/path/of/some/uri", @request.path
0
- @request.relative_url_root = nil
0
@request.set_REQUEST_URI "/"
0
assert_equal "/", @request.request_uri
0
assert_equal "/", @request.path
0
- @request.relative_url_root = nil
0
@request.set_REQUEST_URI "/?m=b"
0
assert_equal "/?m=b", @request.request_uri
0
assert_equal "/", @request.path
0
- @request.relative_url_root = nil
0
@request.set_REQUEST_URI "/"
0
@request.env['SCRIPT_NAME'] = "/dispatch.cgi"
0
assert_equal "/", @request.request_uri
0
assert_equal "/", @request.path
0
-
@request.relative_url_root = nil0
+
ActionController::Base.relative_url_root = "/hieraki"0
@request.set_REQUEST_URI "/hieraki/"
0
@request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
0
assert_equal "/hieraki/", @request.request_uri
0
assert_equal "/", @request.path
0
+ ActionController::Base.relative_url_root = nil
0
-
@request.relative_url_root = nil0
+
ActionController::Base.relative_url_root = "/collaboration/hieraki"0
@request.set_REQUEST_URI "/collaboration/hieraki/books/edit/2"
0
@request.env['SCRIPT_NAME'] = "/collaboration/hieraki/dispatch.cgi"
0
assert_equal "/collaboration/hieraki/books/edit/2", @request.request_uri
0
assert_equal "/books/edit/2", @request.path
0
+ ActionController::Base.relative_url_root = nil
0
# The following tests are for when REQUEST_URI is not supplied (as in IIS)
0
- @request.relative_url_root = nil
0
@request.set_REQUEST_URI nil
0
@request.env['PATH_INFO'] = "/path/of/some/uri?mapped=1"
0
@request.env['SCRIPT_NAME'] = nil #"/path/dispatch.rb"
0
assert_equal "/path/of/some/uri?mapped=1", @request.request_uri
0
assert_equal "/path/of/some/uri", @request.path
0
+ ActionController::Base.relative_url_root = '/path'
0
@request.set_REQUEST_URI nil
0
- @request.relative_url_root = nil
0
@request.env['PATH_INFO'] = "/path/of/some/uri?mapped=1"
0
@request.env['SCRIPT_NAME'] = "/path/dispatch.rb"
0
assert_equal "/path/of/some/uri?mapped=1", @request.request_uri
0
assert_equal "/of/some/uri", @request.path
0
+ ActionController::Base.relative_url_root = nil
0
@request.set_REQUEST_URI nil
0
- @request.relative_url_root = nil
0
@request.env['PATH_INFO'] = "/path/of/some/uri"
0
@request.env['SCRIPT_NAME'] = nil
0
assert_equal "/path/of/some/uri", @request.request_uri
0
assert_equal "/path/of/some/uri", @request.path
0
@request.set_REQUEST_URI nil
0
- @request.relative_url_root = nil
0
@request.env['PATH_INFO'] = "/"
0
assert_equal "/", @request.request_uri
0
assert_equal "/", @request.path
0
@request.set_REQUEST_URI nil
0
- @request.relative_url_root = nil
0
@request.env['PATH_INFO'] = "/?m=b"
0
assert_equal "/?m=b", @request.request_uri
0
assert_equal "/", @request.path
0
@request.set_REQUEST_URI nil
0
- @request.relative_url_root = nil
0
@request.env['PATH_INFO'] = "/"
0
@request.env['SCRIPT_NAME'] = "/dispatch.cgi"
0
assert_equal "/", @request.request_uri
0
assert_equal "/", @request.path
0
+ ActionController::Base.relative_url_root = '/hieraki'
0
@request.set_REQUEST_URI nil
0
- @request.relative_url_root = nil
0
@request.env['PATH_INFO'] = "/hieraki/"
0
@request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
0
assert_equal "/hieraki/", @request.request_uri
0
assert_equal "/", @request.path
0
+ ActionController::Base.relative_url_root = nil
0
@request.set_REQUEST_URI '/hieraki/dispatch.cgi'
0
-
@request.relative_url_root = '/hieraki'
0
+
ActionController::Base.relative_url_root = '/hieraki'
0
assert_equal "/dispatch.cgi", @request.path
0
-
@request.relative_url_root = nil
0
+
ActionController::Base.relative_url_root = nil
0
@request.set_REQUEST_URI '/hieraki/dispatch.cgi'
0
-
@request.relative_url_root = '/foo'
0
+
ActionController::Base.relative_url_root = '/foo'
0
assert_equal "/hieraki/dispatch.cgi", @request.path
0
-
@request.relative_url_root = nil
0
+
ActionController::Base.relative_url_root = nil
0
# This test ensures that Rails uses REQUEST_URI over PATH_INFO
0
-
@request.relative_url_root = nil
0
+
ActionController::Base.relative_url_root = nil
0
@request.env['REQUEST_URI'] = "/some/path"
0
@request.env['PATH_INFO'] = "/another/path"
0
@request.env['SCRIPT_NAME'] = "/dispatch.cgi"
0
@@ -276,13 +231,12 @@ class RequestTest < Test::Unit::TestCase
0
assert_equal "/some/path", @request.path
0
def test_host_with_default_port
0
@request.host = "rubyonrails.org"
0
assert_equal "rubyonrails.org", @request.host_with_port
0
def test_host_with_non_default_port
0
@request.host = "rubyonrails.org"
0
@@ -415,15 +369,15 @@ class RequestTest < Test::Unit::TestCase
0
@request.env["CONTENT_TYPE"] = "application/xml; charset=UTF-8"
0
assert_equal Mime::XML, @request.content_type
0
assert_not_nil @request.user_agent
0
@request.instance_eval { @request_parameters = { "foo" => 1 } }
0
@request.instance_eval { @query_parameters = { "bar" => 2 } }
0
assert_equal({"foo" => 1, "bar" => 2}, @request.parameters)
0
assert_equal({"foo" => 1}, @request.request_parameters)
0
assert_equal({"bar" => 2}, @request.query_parameters)
0
@@ -774,19 +728,19 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase
0
if RUBY_VERSION > '1.9'
0
assert_kind_of File, file
0
assert_kind_of Tempfile, file
0
assert_equal 'file.txt', file.original_filename
0
assert_equal "text/plain", file.content_type
0
assert_equal 'bar', foo
0
def test_large_text_file
0
params = process('large_text_file')
0
assert_equal %w(file foo), params.keys.sort
Was there a reason behind stripping out support for the RAILS_RELATIVE_URL_ROOT environment variable? Was it going to be replaced with a Rack equivalent? Passenger’s RailsBaseURI directive no longer works as expected Rails 2.2.x.
<VirtualHost *> ServerName example.com DocumentRoot /home/test/public_html/example.com RailsBaseURI /app1 </VirtualHost> <pre>@fesplugas: Prior to this patch, your Rails application did not need to know that it had a url prefix of ”/app1”. I don’t think it should be necessary to set “config.action_controller.relative_url_root” and RailsBaseURI. Just RailsBaseURI should be enough, and worked well until this change.
@atnan Prior to this patch we were not using Passenger on production, and all our applications were running under subdomains. You’re right, maybe setting up this in two places can take people to confussion, in fact, a couple weeks ago on the spanish mailing list (ror-es) there was a thread about this issue.