Reputation: 5435
I'm getting an following error while trying to POST
to an API (locally). The request results in a 500
; the body says bad content body
, and the terminal reads like this
[2015-08-20 12:12:38] ERROR EOFError: bad content body
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/multipart/parser.rb:83:in `block in fast_forward_to_first_boundary'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/multipart/parser.rb:81:in `loop'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/multipart/parser.rb:81:in `fast_forward_to_first_boundary'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/multipart/parser.rb:17:in `parse'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/multipart.rb:25:in `parse_multipart'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/request.rb:379:in `parse_multipart'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/request.rb:205:in `POST'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/methodoverride.rb:26:in `method_override'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/methodoverride.rb:14:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/runtime.rb:17:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/activesupport-4.1.12/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/lock.rb:17:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/actionpack-4.1.12/lib/action_dispatch/middleware/static.rb:84:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/sendfile.rb:112:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/airbrake-4.1.0/lib/airbrake/user_informer.rb:16:in `_call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/airbrake-4.1.0/lib/airbrake/user_informer.rb:12:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/railties-4.1.12/lib/rails/engine.rb:514:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/railties-4.1.12/lib/rails/application.rb:144:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/railties-4.1.12/lib/rails/railtie.rb:194:in `public_send'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/railties-4.1.12/lib/rails/railtie.rb:194:in `method_missing'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/urlmap.rb:65:in `block in call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in `each'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/deflater.rb:25:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/lock.rb:17:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/content_length.rb:14:in `call'
/Users/akdemia15/.rvm/gems/ruby-2.2.2/gems/rack-1.5.5/lib/rack/handler/webrick.rb:60:in `service'
/Users/akdemia15/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'
/Users/akdemia15/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'
/Users/akdemia15/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
I'm not sending any kind of parameters to the request. Why is the error happening? It doesn't occur when using GET
. I'm using Rails 4.1.12
and Ruby 2.2.2
Upvotes: 5
Views: 2671
Reputation: 5435
I attempted the request on curl (I was previously using Postman) and it worked. I found out Postman was being troublesome when I had selected form-data
in the BODY
tab but no actual data was being placed there (it was empty). Changing the option to raw
and leaving it also empty worked for me
Upvotes: 5