twitter-status-bot/.gems/gems/faraday-0.9.0/lib/faraday/response/raise_error.rb

22 lines
656 B
Ruby

module Faraday
class Response::RaiseError < Response::Middleware
ClientErrorStatuses = 400...600
def on_complete(env)
case env[:status]
when 404
raise Faraday::Error::ResourceNotFound, response_values(env)
when 407
# mimic the behavior that we get with proxy requests with HTTPS
raise Faraday::Error::ConnectionFailed, %{407 "Proxy Authentication Required "}
when ClientErrorStatuses
raise Faraday::Error::ClientError, response_values(env)
end
end
def response_values(env)
{:status => env.status, :headers => env.response_headers, :body => env.body}
end
end
end