diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-22 21:10:55 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-22 21:10:55 +0300 |
commit | 57f6fa3cd786acb4ead4b7a2d3aa43b6c7abbc58 (patch) | |
tree | a0eea3428f23270d4d6f843e3459022f03243f16 /app/uploaders/dependency_proxy | |
parent | 232e7582b0e81e95bd721ad8094fcb50ecbc8a04 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/uploaders/dependency_proxy')
-rw-r--r-- | app/uploaders/dependency_proxy/file_uploader.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/uploaders/dependency_proxy/file_uploader.rb b/app/uploaders/dependency_proxy/file_uploader.rb index b67a22bae4d..c46539bafaa 100644 --- a/app/uploaders/dependency_proxy/file_uploader.rb +++ b/app/uploaders/dependency_proxy/file_uploader.rb @@ -3,6 +3,7 @@ class DependencyProxy::FileUploader < GitlabUploader include ObjectStorage::Concern + before :cache, :set_content_type storage_options Gitlab.config.dependency_proxy alias_method :upload, :model @@ -17,6 +18,17 @@ class DependencyProxy::FileUploader < GitlabUploader private + # Docker manifests return a custom content type + # GCP will only use the content-type that is stored with the file + # and will not allow it to be overwritten when downloaded + # so we must store the custom content type in object storage. + # This does not apply to DependencyProxy::Blob uploads. + def set_content_type(file) + return unless model.class == DependencyProxy::Manifest + + file.content_type = model.content_type + end + def dynamic_segment Gitlab::HashedPath.new('dependency_proxy', model.group_id, 'files', model.id, root_hash: model.group_id) end |