diff options
-rw-r--r-- | actionpack/lib/action_dispatch/http/url.rb | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/actionpack/lib/action_dispatch/http/url.rb b/actionpack/lib/action_dispatch/http/url.rb index 6112ab2fd6..1ee9f3c89e 100644 --- a/actionpack/lib/action_dispatch/http/url.rb +++ b/actionpack/lib/action_dispatch/http/url.rb @@ -102,10 +102,6 @@ module ActionDispatch host && IP_HOST_REGEXP !~ host end - def same_host?(options) - (options[:subdomain] == true || !options.key?(:subdomain)) && options[:domain].nil? - end - def normalize_protocol(protocol) case protocol when nil @@ -120,15 +116,16 @@ module ActionDispatch end def normalize_host(_host, options) - return _host if !named_host?(_host) || same_host?(options) + return _host unless named_host?(_host) tld_length = options[:tld_length] || @@tld_length - host = "" + host = nil if options[:subdomain] == true || !options.key?(:subdomain) - host << extract_subdomain(_host, tld_length).to_param + return _host if options[:domain].nil? + host = extract_subdomain(_host, tld_length).to_param elsif options[:subdomain].present? - host << options[:subdomain].to_param + host = options[:subdomain].to_param end host << "." unless host.empty? host << (options[:domain] || extract_domain(_host, tld_length)) |