FIX: errors loading secure uploads when secure uploads is disabled (#13047)
This commit is contained in:
parent
49c231c993
commit
c2c647b990
|
@ -77,15 +77,16 @@ class UrlHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.cook_url(url, secure: false, local: nil)
|
def self.cook_url(url, secure: false, local: nil)
|
||||||
|
is_secure = SiteSetting.secure_media && secure
|
||||||
local = is_local(url) if local.nil?
|
local = is_local(url) if local.nil?
|
||||||
return url if !local
|
return url if !local
|
||||||
|
|
||||||
url = secure ? secure_proxy_without_cdn(url) : absolute_without_cdn(url)
|
url = is_secure ? secure_proxy_without_cdn(url) : absolute_without_cdn(url)
|
||||||
|
|
||||||
# we always want secure media to come from
|
# we always want secure media to come from
|
||||||
# Discourse.base_url_no_prefix/secure-media-uploads
|
# Discourse.base_url_no_prefix/secure-media-uploads
|
||||||
# to avoid asset_host mixups
|
# to avoid asset_host mixups
|
||||||
return schemaless(url) if secure
|
return schemaless(url) if is_secure
|
||||||
|
|
||||||
# PERF: avoid parsing url except for extreme conditions
|
# PERF: avoid parsing url except for extreme conditions
|
||||||
# this is a hot path used on home page
|
# this is a hot path used on home page
|
||||||
|
|
|
@ -170,6 +170,8 @@ describe UrlHelper do
|
||||||
Rails.configuration.action_controller.asset_host = "https://test.some-cdn.com/dev"
|
Rails.configuration.action_controller.asset_host = "https://test.some-cdn.com/dev"
|
||||||
|
|
||||||
FileStore::S3Store.any_instance.stubs(:has_been_uploaded?).returns(true)
|
FileStore::S3Store.any_instance.stubs(:has_been_uploaded?).returns(true)
|
||||||
|
|
||||||
|
SiteSetting.secure_media = true
|
||||||
end
|
end
|
||||||
|
|
||||||
def cooked
|
def cooked
|
||||||
|
@ -184,6 +186,16 @@ describe UrlHelper do
|
||||||
"//test.localhost/secure-media-uploads/dev/original/3X/2/e/2e6f2ef81b6910ea592cd6d21ee897cd51cf72e4.jpeg"
|
"//test.localhost/secure-media-uploads/dev/original/3X/2/e/2e6f2ef81b6910ea592cd6d21ee897cd51cf72e4.jpeg"
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "and secure_media setting is disabled" do
|
||||||
|
before { SiteSetting.secure_media = false }
|
||||||
|
|
||||||
|
it "returns the local_cdn_url" do
|
||||||
|
expect(cooked).to eq(
|
||||||
|
"//s3bucket.s3.dualstack.us-west-1.amazonaws.com/dev/original/3X/2/e/2e6f2ef81b6910ea592cd6d21ee897cd51cf72e4.jpeg"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "when the upload for the url is not secure" do
|
context "when the upload for the url is not secure" do
|
||||||
|
|
Loading…
Reference in New Issue