class Faraday::Disqussion::RaiseHttp4xx

@private

Public Instance Methods

on_complete(env) click to toggle source
# File lib/faraday/disqussion/raise_http_4xx.rb, line 8
def on_complete(env)
  case env[:status].to_i
  when 400
    raise ::Disqussion::BadRequest.new(error_message(env), env[:response_headers])
  when 401
    raise ::Disqussion::Unauthorized.new(error_message(env), env[:response_headers])
  when 403
    raise ::Disqussion::Forbidden.new(error_message(env), env[:response_headers])
  when 404
    raise ::Disqussion::NotFound.new(error_message(env), env[:response_headers])
  end
end

Private Instance Methods

error_body(body) click to toggle source
# File lib/faraday/disqussion/raise_http_4xx.rb, line 27
def error_body(body)
  if body['code'] && body['response']
    "Disqus Error #{body['code']}: #{body['response']}"
  else
    nil
  end
end
error_message(env) click to toggle source
# File lib/faraday/disqussion/raise_http_4xx.rb, line 23
def error_message(env)
  "#{env[:method].to_s.upcase} #{env[:url].to_s}: (#{env[:status]}) #{error_body(env[:body])}"
end