-
-
Notifications
You must be signed in to change notification settings - Fork 15
Closed
socketry/multipart-post
#107Description
when making a multipart post request the following error occurs:
undefined method `each' for #<Faraday::CompositeReadIO:0x0000ffffa2c07388 @parts=[#<Parts::FilePart:0x0000ffffa5b43840 @head="-------------RubyMultipartPost-de6d0df967e5e4b3647c154bd5ac8bc2\r\nContent-Disposition: form-data; name=\"Presentation\"; filename=\"local.path\"\r\nContent-Length: 330\r\nContent-Type: text/html\r\nContent-Transfer-Encoding: binary\r\n\r\n", @foot="\r\n", @length=556, @io=#<CompositeReadIO:0x0000ffffa2c07568 @ios=[#<StringIO:0x0000ffffa2c07608>, #<UploadIO:0x0000ffffa5ac8898 @content_type="text/html", @original_filename="local.path", @local_path="local.path", @io=#<StringIO:0x0000ffffa4150938>, @opts={}>, #<StringIO:0x0000ffffa2c075b8>], @index=0>>, #<Parts::EpiloguePart:0x0000ffffa2c07478 @part="-------------RubyMultipartPost-de6d0df967e5e4b3647c154bd5ac8bc2--\r\n\r\n", @io=#<StringIO:0x0000ffffa2c07400>>], @ios=[#<CompositeReadIO:0x0000ffffa2c07568 @ios=[#<StringIO:0x0000ffffa2c07608>, #<UploadIO:0x0000ffffa5ac8898 @content_type="text/html", @original_filename="local.path", @local_path="local.path", @io=#<StringIO:0x0000ffffa4150938>, @opts={}>, #<StringIO:0x0000ffffa2c075b8>], @index=0>, #<StringIO:0x0000ffffa2c07400>], @index=0>
/usr/local/bundle/gems/protocol-http-0.26.0/lib/protocol/http/body/buffered.rb:31:in `for'
/usr/local/bundle/gems/protocol-http-0.26.0/lib/protocol/http/body/buffered.rb:24:in `wrap'
/usr/local/bundle/gems/async-http-faraday-0.12.0/lib/async/http/faraday/adapter.rb:99:in `block in call'
/usr/local/bundle/gems/async-2.8.1/lib/kernel/sync.rb:20:in `Sync'
/usr/local/bundle/gems/async-http-faraday-0.12.0/lib/async/http/faraday/adapter.rb:88:in `call'
/usr/local/bundle/gems/faraday_middleware-0.13.1/lib/faraday_middleware/response/follow_redirects.rb:87:in `perform_with_redirection'
/usr/local/bundle/gems/faraday_middleware-0.13.1/lib/faraday_middleware/response/follow_redirects.rb:75:in `call'
/usr/local/bundle/gems/faraday-0.17.6/lib/faraday/request/multipart.rb:15:in `call'
/usr/local/bundle/gems/faraday-0.17.6/lib/faraday/rack_builder.rb:143:in `build_response'
/usr/local/bundle/gems/faraday-0.17.6/lib/faraday/connection.rb:387:in `run_request'
/usr/local/bundle/gems/faraday-0.17.6/lib/faraday/connection.rb:175:in `post'
/app/lib/shimmy/request_helper.rb:465:in `block in make_request'
/usr/local/bundle/gems/async-2.8.1/lib/async/task.rb:161:in `block in run'
/usr/local/bundle/gems/async-2.8.1/lib/async/task.rb:331:in `block in schedule'
gems used:
async-http-faraday (0.12.0)faraday (0.17.6)
code to reproduce:
conn = Faraday.new do |c|
c.request :multipart
c.adapter :async_http
end
task = Async do
conn.post("https://httpbin.org/post") do |req|
req.body = { "file" => Faraday::UploadIO.new(StringIO.new("file content"), "text/plain", "file.txt") }
end
end
task.waitMetadata
Metadata
Assignees
Labels
No labels