From 5032676bd2fff1d3f67668974e9861b0ac0025ae Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Mon, 24 Feb 2025 13:24:16 +0200 Subject: [PATCH] fix url download --- lib/download_utils.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/download_utils.rb b/lib/download_utils.rb index 3fc32950..78316b80 100644 --- a/lib/download_utils.rb +++ b/lib/download_utils.rb @@ -8,19 +8,20 @@ module DownloadUtils module_function def call(url) - uri = Addressable::URI.parse(url) + uri = begin + URI(url) + rescue URI::Error + Addressable::URI.parse(url).normalize + end if Docuseal.multitenant? - raise UnableToDownload, "Error loading: #{uri.display_uri}. Only HTTPS is allowed." if uri.scheme != 'https' - - if uri.host.in?(LOCALHOSTS) - raise UnableToDownload, "Error loading: #{uri.display_uri}. Can't download from localhost." - end + raise UnableToDownload, "Error loading: #{uri}. Only HTTPS is allowed." if uri.scheme != 'https' + raise UnableToDownload, "Error loading: #{uri}. Can't download from localhost." if uri.host.in?(LOCALHOSTS) end - resp = conn.get(uri.display_uri.to_s) + resp = conn.get(uri) - raise UnableToDownload, "Error loading: #{uri.display_uri}" if resp.status >= 400 + raise UnableToDownload, "Error loading: #{uri}" if resp.status >= 400 resp end