aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan del Strother <jon.delStrother@audioboo.fm>2011-11-17 11:48:12 +0000
committerJonathan del Strother <jon.delStrother@audioboo.fm>2011-12-01 11:57:33 +0000
commit88237daae48c9867fca3b0e14e779d4f4cdd88d0 (patch)
tree822b78cb2d4d925e534ca403cd6df508afbeef06
parentcb7145700d6fd31ef316d97590815ce73bb08cbd (diff)
downloadrails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.tar.gz
rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.tar.bz2
rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.zip
Leave default_asset_host_protocol unset
When default_asset_host_protocol is left as nil, it will use absolute protocols when a request is present, and relative protocols otherwise (eg in asset generation)
-rw-r--r--actionpack/lib/sprockets/railtie.rb2
-rw-r--r--railties/test/application/assets_test.rb22
2 files changed, 22 insertions, 2 deletions
diff --git a/actionpack/lib/sprockets/railtie.rb b/actionpack/lib/sprockets/railtie.rb
index 3d330bd91a..a7eb03acaf 100644
--- a/actionpack/lib/sprockets/railtie.rb
+++ b/actionpack/lib/sprockets/railtie.rb
@@ -10,8 +10,6 @@ module Sprockets
# TODO: Get rid of config.assets.enabled
class Railtie < ::Rails::Railtie
- config.action_controller.default_asset_host_protocol = :relative
-
rake_tasks do
load "sprockets/assets.rake"
end
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb
index d4ffbe3d66..a22013f81c 100644
--- a/railties/test/application/assets_test.rb
+++ b/railties/test/application/assets_test.rb
@@ -451,6 +451,28 @@ module ApplicationTests
assert_equal 0, files.length, "Expected application.js asset to be removed, but still exists"
end
+ test "asset urls should use the request's protocol by default" do
+ app_with_assets_in_view
+ add_to_config "config.asset_host = 'example.com'"
+ require "#{app_path}/config/environment"
+ class ::PostsController < ActionController::Base; end
+
+ get '/posts', {}, {'HTTPS'=>'off'}
+ assert_match('src="http://example.com/assets/application.js', last_response.body)
+ get '/posts', {}, {'HTTPS'=>'on'}
+ assert_match('src="https://example.com/assets/application.js', last_response.body)
+ end
+
+ test "asset urls should be protocol-relative if no request is in scope" do
+ app_file "app/assets/javascripts/image_loader.js.erb", 'var src="<%= image_path("rails.png") %>";'
+ add_to_config "config.assets.precompile = %w{image_loader.js}"
+ add_to_config "config.asset_host = 'example.com'"
+ precompile!
+
+ assert_match 'src="//example.com/assets/rails.png"', File.read("#{app_path}/public/assets/image_loader.js")
+ end
+
+
private
def app_with_assets_in_view