class Percy::Client::Connection::NiceErrorMiddleware
Constants
- CLIENT_ERROR_STATUS_RANGE
Public Instance Methods
on_complete(env)
click to toggle source
# File lib/percy/client/connection.rb, line 11 def on_complete(env) error_class = nil case env[:status] when 400 error_class = Percy::Client::BadRequestError when 401 error_class = Percy::Client::UnauthorizedError when 402 error_class = Percy::Client::PaymentRequiredError when 403 error_class = Percy::Client::ForbiddenError when 404 error_class = Percy::Client::NotFoundError when 409 error_class = Percy::Client::ConflictError when 500 error_class = Percy::Client::InternalServerError when 502 error_class = Percy::Client::BadGatewayError when 503 error_class = Percy::Client::ServiceUnavailableError when 504 error_class = Percy::Client::GatewayTimeoutError when 520..530 error_class = Percy::Client::CloudflareError when CLIENT_ERROR_STATUS_RANGE # Catchall. error_class = Percy::Client::HttpError end return unless error_class raise error_class.new( env.status, env.method.upcase, env.url, env.body, "Got #{env.status} (#{env.method.upcase} #{env.url}):\n#{env.body}", ) end