Sha256: 6d86c3a90ec52672695d9fbb992504d6eb5a142406b5eed92aede950604094e7

Contents?: true

Size: 610 Bytes

Versions: 2

Compression:

Stored size: 610 Bytes

Contents

module Squall
  class OnAppErrors < Faraday::Response::Middleware

    def on_complete(env)
      # https://help.onapp.com/manual.php?m=2#p29
      case env[:status]
      when 403
        raise Squall::ForbiddenError, response_values(env)
      when 404
        raise Squall::NotFoundError, response_values(env)
      when 422
        raise Squall::ClientError, response_values(env)
      when 500
        raise Squall::ServerError, response_values(env)
      end
    end

    def response_values(env)
      {:status => env[:status], :headers => env[:response_headers], :body => env[:body]}
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
squall-1.2.1beta1 lib/squall/support/on_app_errors.rb
squall-1.2.0beta1 lib/squall/support/on_app_errors.rb