diff options
author | Rémy Coutable <remy@rymai.me> | 2016-12-21 13:38:04 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-12-21 13:38:04 +0000 |
commit | 7e5deb6abebfe12a85db30855111866ee9f83e58 (patch) | |
tree | 642d04371de1a711195eaad0fd5fd03b39d6e0ea | |
parent | 1548f7e02f455576ba17a51c78cdb4a66f3e5f68 (diff) | |
parent | 4ec259fd36fe57aa95446c10a47d784dae2c8f00 (diff) | |
download | gitlab-ce-7e5deb6abebfe12a85db30855111866ee9f83e58.tar.gz |
Merge branch 'multipart-uploaded-file' into 'master'
Inject ::UploadedFile from Multipart middleware
Closes #25888
See merge request !8215
-rw-r--r-- | lib/gitlab/middleware/multipart.rb | 8 | ||||
-rw-r--r-- | spec/lib/gitlab/middleware/multipart_spec.rb | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/gitlab/middleware/multipart.rb b/lib/gitlab/middleware/multipart.rb index 65713e73a59..dd99f9bb7d7 100644 --- a/lib/gitlab/middleware/multipart.rb +++ b/lib/gitlab/middleware/multipart.rb @@ -42,7 +42,7 @@ module Gitlab key, value = parsed_field.first if value.nil? - value = File.open(tmp_path) + value = open_file(tmp_path) @open_files << value else value = decorate_params_value(value, @request.params[key], tmp_path) @@ -68,7 +68,7 @@ module Gitlab case path_value when nil - value_hash[path_key] = File.open(tmp_path) + value_hash[path_key] = open_file(tmp_path) @open_files << value_hash[path_key] value_hash when Hash @@ -78,6 +78,10 @@ module Gitlab raise "unexpected path value: #{path_value.inspect}" end end + + def open_file(path) + ::UploadedFile.new(path, File.basename(path), 'application/octet-stream') + end end def initialize(app) diff --git a/spec/lib/gitlab/middleware/multipart_spec.rb b/spec/lib/gitlab/middleware/multipart_spec.rb index ab1ab22795c..8d925460f01 100644 --- a/spec/lib/gitlab/middleware/multipart_spec.rb +++ b/spec/lib/gitlab/middleware/multipart_spec.rb @@ -12,7 +12,7 @@ describe Gitlab::Middleware::Multipart do expect(app).to receive(:call) do |env| file = Rack::Request.new(env).params['file'] - expect(file).to be_a(File) + expect(file).to be_a(::UploadedFile) expect(file.path).to eq(tempfile.path) end @@ -39,7 +39,7 @@ describe Gitlab::Middleware::Multipart do expect(app).to receive(:call) do |env| file = Rack::Request.new(env).params['user']['avatar'] - expect(file).to be_a(File) + expect(file).to be_a(::UploadedFile) expect(file.path).to eq(tempfile.path) end @@ -54,7 +54,7 @@ describe Gitlab::Middleware::Multipart do expect(app).to receive(:call) do |env| file = Rack::Request.new(env).params['project']['milestone']['themesong'] - expect(file).to be_a(File) + expect(file).to be_a(::UploadedFile) expect(file.path).to eq(tempfile.path) end |