rspec_api_documentation icon indicating copy to clipboard operation
rspec_api_documentation copied to clipboard

EOFError on trying to test upload apis without file

Open hari-prasad-01 opened this issue 2 years ago • 0 comments

when we need to test an upload API.

normal upload files are working fine

but whenever I try to test my API for uploading files without files.

 if request_content_type =~ /multipart\/form-data/ && respond_to?(:handle_multipart_body, true)
    request_body = handle_multipart_body(request_headers, request_body)
 end

throws

EOFError:
       EOFError
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/multipart/parser.rb:360:in `handle_empty_content!'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/multipart/parser.rb:186:in `on_read'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/multipart/parser.rb:77:in `block in parse'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/multipart/parser.rb:75:in `loop'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/multipart/parser.rb:75:in `parse'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/multipart.rb:53:in `extract_multipart'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/request.rb:594:in `parse_multipart'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/request.rb:446:in `POST'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/request.rb:469:in `params'
     # /Users/hari/.rvm/gems/ruby-2.7.2/gems/rack-2.2.6.2/lib/rack/request.rb:32:in `params'
     # /Users/hari/.rvm/gems/ruby-2.7.2/bundler/gems/rspec_api_documentation-d3892cc73884/lib/rspec_api_documentation/rack_test_client.rb:49:in `handle_multipart_body'
     # /Users/hari/.rvm/gems/ruby-2.7.2/bundler/gems/rspec_api_documentation-d3892cc73884/lib/rspec_api_documentation/client_base.rb:60:in `document_example'
     # /Users/hari/.rvm/gems/ruby-2.7.2/bundler/gems/rspec_api_documentation-d3892cc73884/lib/rspec_api_documentation/client_base.rb:43:in `process'
     # /Users/hari/.rvm/gems/ruby-2.7.2/bundler/gems/rspec_api_documentation-d3892cc73884/lib/rspec_api_documentation/client_base.rb:20:in `put'
     # ./spec/acceptance/expense_spec.rb:145:in `block (5 levels) in <top (required)>'

hari-prasad-01 avatar Feb 15 '23 11:02 hari-prasad-01