forked from loafle/openapi-generator-original
[ruby] Use Marcel to detect content-type in form-data file upload using faraday (#18243)
This commit is contained in:
@@ -17,7 +17,7 @@ require 'tempfile'
|
||||
require 'time'
|
||||
require 'faraday'
|
||||
require 'faraday/multipart' if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
|
||||
require 'filemagic'
|
||||
require 'marcel'
|
||||
|
||||
|
||||
module OpenapiClient
|
||||
@@ -141,8 +141,7 @@ module OpenapiClient
|
||||
form_params.each do |key, value|
|
||||
case value
|
||||
when ::File, ::Tempfile
|
||||
filemagic = FileMagic.new(FileMagic::MAGIC_MIME)
|
||||
data[key] = Faraday::FilePart.new(value.path, filemagic.file(value.path, true))
|
||||
data[key] = Faraday::FilePart.new(value.path, Marcel::MimeType.for(Pathname.new(value.path)))
|
||||
when ::Array, nil
|
||||
# let Faraday handle Array and nil parameters
|
||||
data[key] = value
|
||||
|
||||
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
|
||||
|
||||
s.add_runtime_dependency 'faraday', '>= 1.0.1', '< 3.0'
|
||||
s.add_runtime_dependency 'faraday-multipart'
|
||||
s.add_runtime_dependency 'ruby-filemagic'
|
||||
s.add_runtime_dependency 'marcel'
|
||||
|
||||
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user