Method: Grape::DSL::InsideRoute#status
- Defined in:
- lib/grape/dsl/inside_route.rb
#status(status = nil) ⇒ Object
Set or retrieve the HTTP status code.
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
# File 'lib/grape/dsl/inside_route.rb', line 220 def status(status = nil) case status when Symbol raise ArgumentError, "Status code :#{status} is invalid." unless Rack::Utils::SYMBOL_TO_STATUS_CODE.key?(status) @status = Rack::Utils.status_code(status) when Integer @status = status when nil return @status if instance_variable_defined?(:@status) && @status if request.post? 201 elsif request.delete? if instance_variable_defined?(:@body) && @body.present? 200 else 204 end else 200 end else raise ArgumentError, 'Status code must be Integer or Symbol.' end end |