Sha256: 6d87f9eddd7fd4bd5b8276858a9485c7bfcdc49ae94737cef2c87255544d34c8
Contents?: true
Size: 1014 Bytes
Versions: 3
Compression:
Stored size: 1014 Bytes
Contents
require 'faraday' module RESTinPeace module Faraday class RaiseErrorsMiddleware < ::Faraday::Response::Middleware CLIENT_ERROR_STATUSES = 400...600 def on_complete(env) case env[:status] when 404 raise ::Faraday::ResourceNotFound, response_values(env) when 407 # mimic the behavior that we get with proxy requests with HTTPS raise ::Faraday::ConnectionFailed, %{407 "Proxy Authentication Required "} when 422 # do not raise an error as 422 from a rails app means validation errors # and response body contains the validation errors when CLIENT_ERROR_STATUSES raise ::Faraday::ClientError, response_values(env) end end def response_values(env) { status: env.status, headers: env.response_headers, body: env.body, } end end ::Faraday::Response.register_middleware rip_raise_errors: RaiseErrorsMiddleware end end
Version data entries
3 entries across 3 versions & 1 rubygems