summaryrefslogtreecommitdiff
path: root/app/services/dependency_proxy
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-01-20 09:16:11 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-01-20 09:16:11 +0000
commitedaa33dee2ff2f7ea3fac488d41558eb5f86d68c (patch)
tree11f143effbfeba52329fb7afbd05e6e2a3790241 /app/services/dependency_proxy
parentd8a5691316400a0f7ec4f83832698f1988eb27c1 (diff)
downloadgitlab-ce-edaa33dee2ff2f7ea3fac488d41558eb5f86d68c.tar.gz
Add latest changes from gitlab-org/gitlab@14-7-stable-eev14.7.0-rc42
Diffstat (limited to 'app/services/dependency_proxy')
-rw-r--r--app/services/dependency_proxy/download_blob_service.rb38
-rw-r--r--app/services/dependency_proxy/find_or_create_blob_service.rb48
2 files changed, 0 insertions, 86 deletions
diff --git a/app/services/dependency_proxy/download_blob_service.rb b/app/services/dependency_proxy/download_blob_service.rb
deleted file mode 100644
index b3548c8a126..00000000000
--- a/app/services/dependency_proxy/download_blob_service.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-# frozen_string_literal: true
-
-module DependencyProxy
- class DownloadBlobService < DependencyProxy::BaseService
- def initialize(image, blob_sha, token)
- @image = image
- @blob_sha = blob_sha
- @token = token
- @temp_file = Tempfile.new
- end
-
- def execute
- File.open(@temp_file.path, "wb") do |file|
- Gitlab::HTTP.get(blob_url, headers: auth_headers, stream_body: true) do |fragment|
- if [301, 302, 307].include?(fragment.code)
- # do nothing
- elsif fragment.code == 200
- file.write(fragment)
- else
- raise DownloadError.new('Non-success response code on downloading blob fragment', fragment.code)
- end
- end
- end
-
- success(file: @temp_file)
- rescue DownloadError => exception
- error(exception.message, exception.http_status)
- rescue Timeout::Error => exception
- error(exception.message, 599)
- end
-
- private
-
- def blob_url
- registry.blob_url(@image, @blob_sha)
- end
- end
-end
diff --git a/app/services/dependency_proxy/find_or_create_blob_service.rb b/app/services/dependency_proxy/find_or_create_blob_service.rb
deleted file mode 100644
index 1b43263a3ba..00000000000
--- a/app/services/dependency_proxy/find_or_create_blob_service.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-# frozen_string_literal: true
-
-module DependencyProxy
- class FindOrCreateBlobService < DependencyProxy::BaseService
- def initialize(group, image, token, blob_sha)
- @group = group
- @image = image
- @token = token
- @blob_sha = blob_sha
- end
-
- def execute
- from_cache = true
- file_name = @blob_sha.sub('sha256:', '') + '.gz'
- blob = @group.dependency_proxy_blobs.active.find_or_build(file_name)
-
- unless blob.persisted?
- from_cache = false
- result = DependencyProxy::DownloadBlobService
- .new(@image, @blob_sha, @token).execute
-
- if result[:status] == :error
- log_failure(result)
-
- return error('Failed to download the blob', result[:http_status])
- end
-
- blob.file = result[:file]
- blob.size = result[:file].size
- blob.save!
- end
-
- blob.read! if from_cache
- success(blob: blob, from_cache: from_cache)
- end
-
- private
-
- def log_failure(result)
- log_error(
- "Dependency proxy: Failed to download the blob." \
- "Blob sha: #{@blob_sha}." \
- "Error message: #{result[:message][0, 100]}" \
- "HTTP status: #{result[:http_status]}"
- )
- end
- end
-end