class SemaphoreClient::HttpClient::ResponseErrorMiddleware

Public Instance Methods

call(env) click to toggle source
# File lib/semaphore_client/http_client.rb, line 6
def call(env)
  @app.call(env).on_complete do |env|
    case env[:status]
    when 401
      raise SemaphoreClient::Exceptions::Unauthorized, env
    when 404
      raise SemaphoreClient::Exceptions::NotFound, env
    when 405
      raise SemaphoreClient::Exceptions::NotAllowed, env
    when 409
      raise SemaphoreClient::Exceptions::Conflict, env
    when 422
      raise SemaphoreClient::Exceptions::UnprocessableEntity, env
    when 400...500
      raise SemaphoreClient::Exceptions::BadRequest, env
    when 500...600
      raise SemaphoreClient::Exceptions::ServerError, env
    end
  end
end