Sha256: e570463f565b3ecfd28b4bbdeffefcb5bf4923a731c8de70f23475142cb36033
Contents?: true
Size: 722 Bytes
Versions: 10
Compression:
Stored size: 722 Bytes
Contents
module Vhx module Middleware class ErrorResponse < Faraday::Response::Middleware def on_complete(env) error_class = case env[:status] when 200, 201, 204 when 304 when 400 BadRequestError when 401 if env[:body].fetch('message', '').match(/token/) InvalidTokenError else UnauthorizedError end when 402 PaymentRequiredError when 404 NotFoundError when 406 NotAcceptableError else ServerError end if error_class raise error_class.new(env[:body], env[:status], env[:url]) end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems