diff --git a/changelogs/unreleased/sh-send-put-headers-object-storage.yml b/changelogs/unreleased/sh-send-put-headers-object-storage.yml new file mode 100644 index 00000000000..cbd8b6deb5b --- /dev/null +++ b/changelogs/unreleased/sh-send-put-headers-object-storage.yml @@ -0,0 +1,5 @@ +--- +title: Send back required object storage PUT headers in /uploads/authorize API +merge_request: 21319 +author: +type: changed diff --git a/lib/object_storage/direct_upload.rb b/lib/object_storage/direct_upload.rb index 61a69e7ffe4..b372b4af090 100644 --- a/lib/object_storage/direct_upload.rb +++ b/lib/object_storage/direct_upload.rb @@ -41,7 +41,9 @@ module ObjectStorage GetURL: get_url, StoreURL: store_url, DeleteURL: delete_url, - MultipartUpload: multipart_upload_hash + MultipartUpload: multipart_upload_hash, + CustomPutHeaders: true, + PutHeaders: upload_options }.compact end diff --git a/spec/lib/object_storage/direct_upload_spec.rb b/spec/lib/object_storage/direct_upload_spec.rb index e0569218d78..632acd6eb46 100644 --- a/spec/lib/object_storage/direct_upload_spec.rb +++ b/spec/lib/object_storage/direct_upload_spec.rb @@ -61,6 +61,8 @@ describe ObjectStorage::DirectUpload do expect(subject[:GetURL]).to start_with(storage_url) expect(subject[:StoreURL]).to start_with(storage_url) expect(subject[:DeleteURL]).to start_with(storage_url) + expect(subject[:CustomPutHeaders]).to be_truthy + expect(subject[:PutHeaders]).to eq({ 'Content-Type' => 'application/octet-stream' }) end end