Merge pull request #66 from relaxdiego/fix/63
This commit is contained in:
@@ -1,41 +1,33 @@
|
|||||||
module Aviator
|
module Aviator
|
||||||
|
|
||||||
class Response
|
class Response
|
||||||
|
extend Forwardable
|
||||||
|
|
||||||
|
def_delegators :@response, :headers, :status
|
||||||
|
|
||||||
def body
|
attr_reader :request
|
||||||
@body ||= if response.body.length > 0
|
|
||||||
JSON.parse(response.body).with_indifferent_access
|
|
||||||
else
|
|
||||||
{}
|
|
||||||
end
|
|
||||||
|
|
||||||
@body.dup
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
def method_missing(name, *args)
|
|
||||||
case name
|
|
||||||
when :headers, :status
|
|
||||||
response.send(name)
|
|
||||||
when :request
|
|
||||||
request
|
|
||||||
else
|
|
||||||
super(name, *args)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
attr_reader :response,
|
|
||||||
:request
|
|
||||||
|
|
||||||
def initialize(response, request)
|
def initialize(response, request)
|
||||||
@response = response
|
@response = response
|
||||||
@request = request
|
@request = request
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def body
|
||||||
|
if raw_body.length > 0
|
||||||
|
JSON.parse(raw_body).with_indifferent_access
|
||||||
|
else
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def raw_body
|
||||||
|
@response.body
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
Reference in New Issue
Block a user