diff --git a/app/serializers/upload_serializer.rb b/app/serializers/upload_serializer.rb index a04300b022d..118bb9cf844 100644 --- a/app/serializers/upload_serializer.rb +++ b/app/serializers/upload_serializer.rb @@ -16,7 +16,7 @@ class UploadSerializer < ApplicationSerializer :human_filesize def url - return object.url if !object.secure || !SiteSetting.secure_media? + return Discourse.store.cdn_url(object.url) if !object.secure || !SiteSetting.secure_media? UrlHelper.cook_url(object.url, secure: object.secure) end end diff --git a/spec/requests/uploads_controller_spec.rb b/spec/requests/uploads_controller_spec.rb index 0be31c1811f..fdd67143d44 100644 --- a/spec/requests/uploads_controller_spec.rb +++ b/spec/requests/uploads_controller_spec.rb @@ -42,6 +42,13 @@ describe UploadsController do expect(Jobs::CreateAvatarThumbnails.jobs.size).to eq(1) end + it 'returns cdn url' do + set_cdn_url "https://awesome.com" + post "/uploads.json", params: { file: logo, type: "composer" } + expect(response.status).to eq 200 + expect(response.parsed_body["url"]).to start_with("https://awesome.com/uploads/default/") + end + it 'is successful with an attachment' do SiteSetting.authorized_extensions = "*"