diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-04-09 11:03:10 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-04-09 11:03:10 -0700 |
commit | db5e578b647e1730ea2aecb1ca58fd9a434f6cf6 (patch) | |
tree | 524517ae1ffc1ec01af367d72a51a8323dee931b /actionpack/lib | |
parent | 3321d1a2d1908f25d962169d0a88b55bca3c2370 (diff) | |
parent | 7b75b678cf11a1aed7927a9db42fb60a38726450 (diff) | |
download | rails-db5e578b647e1730ea2aecb1ca58fd9a434f6cf6.tar.gz rails-db5e578b647e1730ea2aecb1ca58fd9a434f6cf6.tar.bz2 rails-db5e578b647e1730ea2aecb1ca58fd9a434f6cf6.zip |
Merge branch 'master' into adequaterecord
* master: (26 commits)
Avoid URI parsing
Add missing require so requiring `active_support/cache` works again.
depend_on_asset is not required anymore on sprockets-rails 2.1.2
upgrading section for 4.1 is no longer WIP. [ci skip]
Expand explanation of how to set secrets.yml. [ci skip]
Guides: minor typo fixed [ci skip]
Fixed problem where `1.day.eql?(1.day)` is false
new CHANGELOGs entries are in the top [ci skip]
Updates the maintenance policy with new Rails versions
Dont abbreviate that which needs no abbreviation
Dont encourage aliases now that we have variants
Use short-form for the scaffold render calls and drop the needless test
Drop in @jeremy's new database.yml template text
Don't deprecate after all
Less ambition, more deprecation
Ensure we correctly and immediately load all ENV entries
Give a deprecation message even when the lookup fails
Rearrange the config merger some more
entry is always a Hash
Check env_url only once
...
Conflicts:
Gemfile
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/ssl.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/ssl.rb b/actionpack/lib/action_dispatch/middleware/ssl.rb index 999c022535..0c7caef25d 100644 --- a/actionpack/lib/action_dispatch/middleware/ssl.rb +++ b/actionpack/lib/action_dispatch/middleware/ssl.rb @@ -32,11 +32,14 @@ module ActionDispatch private def redirect_to_https(request) - url = URI(request.url) - url.scheme = "https" - url.host = @host if @host - url.port = @port if @port - headers = { 'Content-Type' => 'text/html', 'Location' => url.to_s } + host = @host || request.host + port = @port || request.port + + location = "https://#{host}" + location << ":#{port}" if port != 80 + location << request.fullpath + + headers = { 'Content-Type' => 'text/html', 'Location' => location } [301, headers, []] end |