4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/chain/middleware/hashie_mash_response.rb', line 4
def on_complete(env)
case env[:status]
when 200
body = env[:body]
json = JSON.parse(body)
= env[:response_headers]
env[:body] = Hashie::Mash.new(json).tap do |item|
item. = Hashie::Mash.new()
item._status = env[:status]
end
else
raise Chain::Middleware::RequestError, env[:status]
end
rescue JSON::ParserError => ex
raise Chain::Middleware::ParseError, "Unable to parse JSON response: #{ex.message}"
rescue NoMethodError => ex
raise Chain::Middleware::ParseError, "Unable to parse JSON as object: #{ex.message}"
end
|