class Faraday::Response::RaiseHttp4xx

Public Instance Methods

on_complete(env) click to toggle source
# File lib/faraday/raise_http_4xx.rb, line 6
def on_complete(env)
  env[:response].on_complete do |response|
    case response[:status].to_i
    when 404
      raise JustGiving::NotFound, error_message(response)
    end
  end
end

Private Instance Methods

error_body(body) click to toggle source
# File lib/faraday/raise_http_4xx.rb, line 21
def error_body(body)
  return nil if body.nil?
  body = MultiJson.decode(body)
  if body.nil?
    nil
  elsif body.any?
    body.collect{|error| "#{error['id']} #{error['desc']}"}
  end
end
error_message(response) click to toggle source
# File lib/faraday/raise_http_4xx.rb, line 17
def error_message(response)
  "#{response[:method].to_s.upcase} #{response[:url].to_s}: #{response[:status]} #{error_body(response[:body])}"
end