How can I specify sinatra to return an empty body with status of 200?
I can do body "" but is there a more explicit way of doing this?
From the documentation:
You can return any object that would either be a valid Rack response, Rack body object or HTTP status code:
- An Array with three elements: [status (Fixnum), headers (Hash), response body (responds to
#each)]- An Array with two elements: [status (Fixnum), response body (responds to #each)]
- An object that responds to
#eachand passes nothing but strings to the given block- A Fixnum representing the status code
So returning either of
[200, {}, ['']][200, ['']]['']200should do the trick.
In Setting Body, Status Code and Headers, the helper methods status and body (and headers) are introduced:
get '/nothing' do
status 200
body ''
end
Also from the docs:
To immediately stop a request within a filter or route use:
halt
You can also specify the status when halting:
halt 410
So in the case where you only need a 200 status it would be:
halt 200
halt is one of the most useful methods Sinatra makes available to you, worth reading the docs for. I often use it to return error messages early in processing a route, for example when required params are missing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With