class Croudia::Response::ParseJSON

Public Instance Methods

on_complete(env) click to toggle source
# File lib/croudia/response/parse_json.rb, line 7
def on_complete(env)
  return unless env[:response_headers]['content-type'].to_s.include?('json')

  case env[:body]
  when /\A\s*\z/, nil
    env[:body] = nil
  else
    env[:body] = JSON.parse(env[:body])
  end
rescue JSON::ParserError => e
  env[:status] == 200 ? raise(e) : env[:body] = nil
end