module GdsApi::ExceptionHandling

def error_class_for_code(code)

def error_class_for_code(code)
  case code
  when 400
    GdsApi::HTTPBadRequest
  when 401
    GdsApi::HTTPUnauthorized
  when 403
    GdsApi::HTTPForbidden
  when 404
    GdsApi::HTTPNotFound
  when 409
    GdsApi::HTTPConflict
  when 410
    GdsApi::HTTPGone
  when 413
    GdsApi::HTTPPayloadTooLarge
  when 422
    GdsApi::HTTPUnprocessableEntity
  when 429
    GdsApi::HTTPTooManyRequests
  when (400..499)
    GdsApi::HTTPClientError
  when 500
    GdsApi::HTTPInternalServerError
  when 502
    GdsApi::HTTPBadGateway
  when 503
    GdsApi::HTTPUnavailable
  when 504
    GdsApi::HTTPGatewayTimeout
  when (500..599)
    GdsApi::HTTPServerError
  else
    GdsApi::HTTPErrorResponse
  end
end