lib/emites/response.rb in emites-client-0.1.1 vs lib/emites/response.rb in emites-client-0.1.2
- old
+ new
@@ -5,34 +5,39 @@
RequestError = Class.new(Exception)
class Response < SimpleDelegator
def resolve!(&block)
- if success? || redirected?
+ timeout! if timed_out?
+ if(success? || redirected?)
block_given? ? yield(self) : self
- elsif timed_out?
- timeout!
else
error!
end
end
def redirected?
- response_code && response_code >= 300 && response_code < 400
+ (300..308).include?(self.code)
end
+ def parsed_body
+ MultiJson.load(body)
+ rescue MultiJson::ParseError
+ {}
+ end
+
private
def timeout!
raise RequestTimeout
end
def error!
raise RequestError.new(
code: code,
message: status_message,
- body: (MultiJson.load(body) rescue {})
+ body: parsed_body
)
end
end
-end
\ No newline at end of file
+end