Open basjanssen opened 6 years ago
When investigating in the grape code, I see that inside_route wil check for a value in the body using .present? This will return false if an empty hash is used. I'm not sure if this should be the case. Returning an empty json object is done returning {}
. The body is clearly not empty: it returns a valid json object. However: the grape implementation would regard this as no content -> 204.
Interesting, I think this is a bug. Try writing a test for it, maybe a fix?
I love to get some feedback. As a grape rookie, I hope I'm on the right track.
After upgrading to Grape >= 0.19.1, the default status code for DELETE is now 204 instead of 200. When returning a response which is not empty (for example
{'key'=>'value'}
, a 200 is returned with the correct response body.When a non empty hash is returned on webrick (default development rails server) this goes well: the hash is returned. However, if an empty hash is provided
{}
, it results in an exception:with the following output (http 500):
Adding an explicit status of 200 solves this:
Is this issue known, can someone confirm this and can it be solved in some way?