diff options
author | Stan Hu <stanhu@gmail.com> | 2019-02-05 04:27:22 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-02-05 10:12:44 +0300 |
commit | 41b51c065604091579a2308adc527fe5bb187abe (patch) | |
tree | a3730ea8e6310ec0012d801791576e2940ad3ec4 /spec/lib/api/helpers_spec.rb | |
parent | 4b07f22d93de1417ab7918ffd982e35526b50c6e (diff) |
Encode Content-Disposition filenames
Users downloading non-ASCII attachments would see garbled characters.
When used with object storage, AWS S3 would return an InvalidArgument
error: Header value cannot be represented using ISO-8859-1.
Per RFC 5987 and RFC 6266, Content-Disposition should be encoded
properly. This commit takes the Rails 6 implementation of
ActiveSuppport::Http::ContentDisposition
(https://github.com/rails/rails/pull/33829) and ports it here.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/47673
Diffstat (limited to 'spec/lib/api/helpers_spec.rb')
-rw-r--r-- | spec/lib/api/helpers_spec.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/spec/lib/api/helpers_spec.rb b/spec/lib/api/helpers_spec.rb index e1aea82653d..08165f147bb 100644 --- a/spec/lib/api/helpers_spec.rb +++ b/spec/lib/api/helpers_spec.rb @@ -179,7 +179,7 @@ describe API::Helpers do context 'when blob name is not null' do it 'returns disposition with the blob name' do - expect(send_git_blob['Content-Disposition']).to eq 'inline; filename="foobar"' + expect(send_git_blob['Content-Disposition']).to eq %q(inline; filename="foobar"; filename*=UTF-8''foobar) end end end |