diff options
author | Douwe Maan <douwe@selenight.nl> | 2018-03-28 19:27:16 +0200 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2018-04-02 17:20:01 +0200 |
commit | 2e3bc6a9415688d769134ee669fd457d63f497f8 (patch) | |
tree | 2f92ef930bbf16b90e01920cc22d78003e39f7cf /lib/gitlab/proxy_http_connection_adapter.rb | |
parent | 6b5ec93ad9e3a55ae0cba4fb677c2a6cff04cd70 (diff) | |
download | gitlab-ce-2e3bc6a9415688d769134ee669fd457d63f497f8.tar.gz |
Raise more descriptive errors when URLs are blocked
Diffstat (limited to 'lib/gitlab/proxy_http_connection_adapter.rb')
-rw-r--r-- | lib/gitlab/proxy_http_connection_adapter.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/gitlab/proxy_http_connection_adapter.rb b/lib/gitlab/proxy_http_connection_adapter.rb index c70d6f4cd84..65ea8c22309 100644 --- a/lib/gitlab/proxy_http_connection_adapter.rb +++ b/lib/gitlab/proxy_http_connection_adapter.rb @@ -10,8 +10,12 @@ module Gitlab class ProxyHTTPConnectionAdapter < HTTParty::ConnectionAdapter def connection - if !allow_local_requests? && blocked_url? - raise URI::InvalidURIError + unless allow_local_requests? + begin + Gitlab::UrlBlocker.validate!(uri, allow_private_networks: false) + rescue Gitlab::UrlBlocker::BlockedUrlError => e + raise Gitlab::HTTP::BlockedUrlError, "URL '#{uri}' is blocked: #{e.message}" + end end super @@ -19,10 +23,6 @@ module Gitlab private - def blocked_url? - Gitlab::UrlBlocker.blocked_url?(uri, allow_private_networks: false) - end - def allow_local_requests? options.fetch(:allow_local_requests, allow_settings_local_requests?) end |