parseAPIResponseStatus function

APIResponseStatus? parseAPIResponseStatus(
  1. Object o
)

Parses a APIResponseStatus.

Implementation

APIResponseStatus? parseAPIResponseStatus(Object o) {
  if (o is APIResponseStatus) return o;

  if (o is int) {
    switch (o) {
      case 200:
      case 201:
      case 202:
      case 204:
      case 205:
      case 206:
        return APIResponseStatus.OK;
      case 304:
        return APIResponseStatus.NOT_MODIFIED;
      case 400:
        return APIResponseStatus.BAD_REQUEST;
      case 401:
      case 402:
      case 403:
        return APIResponseStatus.UNAUTHORIZED;
      case 404:
      case 405:
      case 410:
        return APIResponseStatus.NOT_FOUND;
      case 429:
      case 500:
      case 501:
      case 503:
        return APIResponseStatus.ERROR;
      default:
        return null;
    }
  }

  var s = o.toString().trim().toLowerCase();

  switch (s) {
    case 'ok':
      return APIResponseStatus.OK;
    case 'internalservererror':
    case 'internal server error':
    case 'internal_server_error':
    case 'error':
      return APIResponseStatus.ERROR;
    case 'notfound':
    case 'not found':
    case 'not_found':
      return APIResponseStatus.NOT_FOUND;
    case 'notmodified':
    case 'not modified':
    case 'not_modified':
      return APIResponseStatus.NOT_MODIFIED;
    case 'unauthorized':
      return APIResponseStatus.UNAUTHORIZED;
    case 'badrequest':
    case 'bad request':
    case 'bad_request':
      return APIResponseStatus.BAD_REQUEST;
    default:
      return null;
  }
}