diff options
author | Brian Weaver <cmdrclueless@gmail.com> | 2015-04-16 16:20:57 -0400 |
---|---|---|
committer | Brian Weaver <cmdrclueless@gmail.com> | 2015-04-16 20:57:31 -0400 |
commit | c4a83b5454a3516b630b38cd8e8472f2166fc986 (patch) | |
tree | cb6ea4fed8e01d6652a2c19b2882f42f55e2c341 /actionpack/test/dispatch/routing | |
parent | c8bab30ce5a7a40be7a3c7c4271e8ae6d2b303bb (diff) | |
download | rails-c4a83b5454a3516b630b38cd8e8472f2166fc986.tar.gz rails-c4a83b5454a3516b630b38cd8e8472f2166fc986.tar.bz2 rails-c4a83b5454a3516b630b38cd8e8472f2166fc986.zip |
Fix broken IPv6 addresses handling
Diffstat (limited to 'actionpack/test/dispatch/routing')
-rw-r--r-- | actionpack/test/dispatch/routing/ipv6_redirect_test.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/routing/ipv6_redirect_test.rb b/actionpack/test/dispatch/routing/ipv6_redirect_test.rb new file mode 100644 index 0000000000..f1b2e8cfc7 --- /dev/null +++ b/actionpack/test/dispatch/routing/ipv6_redirect_test.rb @@ -0,0 +1,45 @@ +require 'abstract_unit' + +class IPv6IntegrationTest < ActionDispatch::IntegrationTest + Routes = ActionDispatch::Routing::RouteSet.new + include Routes.url_helpers + + class ::BadRouteRequestController < ActionController::Base + include Routes.url_helpers + def index + render :text => foo_path + end + + def foo + redirect_to :action => :index + end + end + + Routes.draw do + get "/", :to => 'bad_route_request#index', :as => :index + get "/foo", :to => "bad_route_request#foo", :as => :foo + end + + def _routes + Routes + end + + APP = build_app Routes + def app + APP + end + + test "bad IPv6 redirection" do + # def test_simple_redirect + request_env = { + 'REMOTE_ADDR' => 'fd07:2fa:6cff:2112:225:90ff:fec7:22aa', + 'HTTP_HOST' => '[fd07:2fa:6cff:2112:225:90ff:fec7:22aa]:3000', + 'SERVER_NAME' => '[fd07:2fa:6cff:2112:225:90ff:fec7:22aa]', + 'SERVER_PORT' => 3000 } + + get '/foo', env: request_env + assert_response :redirect + assert_equal 'http://[fd07:2fa:6cff:2112:225:90ff:fec7:22aa]:3000/', redirect_to_url + end + +end |