Skip to content
Snippets Groups Projects
Commit 4976259a authored by pshutsin's avatar pshutsin
Browse files

Merge branch 'morefice/fix-artifacts-content-type' into 'master'

Fix artifacts content-type

See merge request gitlab-org/gitlab!83515
parents 4e32a9de e2e17fe6
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -38,6 +38,8 @@ module WorkhorseHelper
# Send an entry from artifacts through Workhorse
def send_artifacts_entry(file, entry)
headers.store(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
headers.store(*Gitlab::Workhorse.detect_content_type)
head :ok
end
 
Loading
Loading
Loading
Loading
@@ -707,6 +707,7 @@ module API
 
def send_artifacts_entry(file, entry)
header(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
header(*Gitlab::Workhorse.detect_content_type)
 
body ''
end
Loading
Loading
Loading
Loading
@@ -226,6 +226,13 @@ module Gitlab
end
end
 
def detect_content_type
[
Gitlab::Workhorse::DETECT_HEADER,
'true'
]
end
protected
 
# This is the outermost encoding of a senddata: header. It is safe for
Loading
Loading
Loading
Loading
@@ -323,6 +323,7 @@ RSpec.describe Projects::ArtifactsController do
subject
 
expect(response).to have_gitlab_http_status(:ok)
expect(response.headers['Gitlab-Workhorse-Detect-Content-Type']).to eq('true')
expect(send_data).to start_with('artifacts-entry:')
 
expect(params.keys).to eq(%w(Archive Entry))
Loading
Loading
Loading
Loading
@@ -448,6 +448,14 @@ RSpec.describe Gitlab::Workhorse do
end
end
 
describe '.detect_content_type' do
subject { described_class.detect_content_type }
it 'returns array setting detect content type in workhorse' do
expect(subject).to eq(%w[Gitlab-Workhorse-Detect-Content-Type true])
end
end
describe '.send_git_blob' do
include FakeBlobHelpers
 
Loading
Loading
Loading
Loading
@@ -556,7 +556,8 @@ RSpec.describe API::Ci::JobArtifacts do
expect(response).to have_gitlab_http_status(:ok)
expect(response.headers.to_h)
.to include('Content-Type' => 'application/json',
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/,
'Gitlab-Workhorse-Detect-Content-Type' => 'true')
end
end
 
Loading
Loading
@@ -626,7 +627,8 @@ RSpec.describe API::Ci::JobArtifacts do
expect(response).to have_gitlab_http_status(:ok)
expect(response.headers.to_h)
.to include('Content-Type' => 'application/json',
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/,
'Gitlab-Workhorse-Detect-Content-Type' => 'true')
expect(response.parsed_body).to be_empty
end
end
Loading
Loading
@@ -644,7 +646,8 @@ RSpec.describe API::Ci::JobArtifacts do
expect(response).to have_gitlab_http_status(:ok)
expect(response.headers.to_h)
.to include('Content-Type' => 'application/json',
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/,
'Gitlab-Workhorse-Detect-Content-Type' => 'true')
end
end
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment