diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-02-12 14:02:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-12 14:02:24 +0100 |
commit | 8792128f38e19b0d7882468a4f1f9362b98793a0 (patch) | |
tree | 2689e394f9f88d05533e70ad0f6bcf622ee2fd5c /app/services | |
parent | a30a40c4379b26890b6453083ef213e672658902 (diff) | |
parent | 49eef466b8274ca5768deca3309af31bfbf81184 (diff) |
Merge pull request #1500 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/fetch_oembed_service.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/services/fetch_oembed_service.rb b/app/services/fetch_oembed_service.rb index 67e33875c..60be9b9dc 100644 --- a/app/services/fetch_oembed_service.rb +++ b/app/services/fetch_oembed_service.rb @@ -38,7 +38,17 @@ class FetchOEmbedService return if @endpoint_url.blank? - @endpoint_url = (Addressable::URI.parse(@url) + @endpoint_url).to_s + @endpoint_url = begin + base_url = Addressable::URI.parse(@url) + + # If the OEmbed endpoint is given as http but the URL we opened + # was served over https, we can assume OEmbed will be available + # through https as well + + (base_url + @endpoint_url).tap do |absolute_url| + absolute_url.scheme = base_url.scheme if base_url.scheme == 'https' + end.to_s + end cache_endpoint! rescue Addressable::URI::InvalidURIError |