lib/restfulness/dispatchers/rack.rb in restfulness-0.1.0 vs lib/restfulness/dispatchers/rack.rb in restfulness-0.2.0
- old
+ new
@@ -9,31 +9,16 @@
# Make sure we understand the request
request = Request.new(app)
prepare_request(env, rack_req, request)
-
# Prepare a suitable response
response = Response.new(request)
response.run
-
- # No need to provide an empty response
- log_response(response.code)
- [response.code, response.headers, [response.payload || ""]]
-
- rescue HTTPException => e
- log_response(e.code)
- [e.code, {}, [e.payload || ""]]
-
- #rescue Exception => e
- # log_response(500)
- # puts
- # puts e.message
- # puts e.backtrace
- # # Something unknown went wrong
- # [500, {}, [STATUSES[500]]]
+ log_response(response.status)
+ [response.status, response.headers, [response.payload || ""]]
end
protected
def prepare_request(env, rack_req, request)
@@ -58,18 +43,20 @@
:head
when 'POST'
:post
when 'PUT'
:put
+ when 'PATCH'
+ :patch
when 'OPTIONS'
:options
else
raise HTTPException.new(501)
end
end
- def log_response(code)
- logger.info("Completed #{code} #{STATUSES[code]}")
+ def log_response(status)
+ logger.info("Completed #{status} #{STATUSES[status]}")
end
def prepare_headers(env)
res = {}
env.each do |k,v|