+++ /dev/null
-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