]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/aviator/lib/puppet/feature/faraday/response/raise_error.rb
add aimonb/aviator to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / aviator / lib / puppet / feature / faraday / response / raise_error.rb
1 module Faraday
2   class Response::RaiseError < Response::Middleware
3     ClientErrorStatuses = 400...600
4
5     def on_complete(env)
6       case env[:status]
7       when 404
8         raise Faraday::Error::ResourceNotFound, response_values(env)
9       when 407
10         # mimic the behavior that we get with proxy requests with HTTPS
11         raise Faraday::Error::ConnectionFailed, %{407 "Proxy Authentication Required "}
12       when ClientErrorStatuses
13         raise Faraday::Error::ClientError, response_values(env)
14       end
15     end
16
17     def response_values(env)
18       {:status => env.status, :headers => env.response_headers, :body => env.body}
19     end
20   end
21 end