Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2017-05-18 12:40:05 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2017-05-18 12:40:05 +0300
commita9f04f32391848ba1971f8f2fa0fa5ebe26224e2 (patch)
tree8f8b2768577aded4eff008c2019357ef569e8bd2 /lib
parent010e1dacaba3e7626d9066b470402262e7bbb54b (diff)
parent831d6f5f777370e4ad424211df24e2f5bd380445 (diff)
Merge branch 'sh-fix-container-registry-s3-redirects' into 'master'
Properly handle container registry redirects to fix metadata stored on an S3 backend Closes #22403 See merge request !11429
Diffstat (limited to 'lib')
-rw-r--r--lib/container_registry/client.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/container_registry/client.rb b/lib/container_registry/client.rb
index 7f5f6d9ddb6..c7263f302ab 100644
--- a/lib/container_registry/client.rb
+++ b/lib/container_registry/client.rb
@@ -75,10 +75,7 @@ module ContainerRegistry
def redirect_response(location)
return unless location
- # We explicitly remove authorization token
- faraday_blob.get(location) do |req|
- req['Authorization'] = ''
- end
+ faraday_redirect.get(location)
end
def faraday
@@ -93,5 +90,14 @@ module ContainerRegistry
initialize_connection(conn, @options)
end
end
+
+ # Create a new request to make sure the Authorization header is not inserted
+ # via the Faraday middleware
+ def faraday_redirect
+ @faraday_redirect ||= Faraday.new(@base_uri) do |conn|
+ conn.request :json
+ conn.adapter :net_http
+ end
+ end
end
end