httpStatusHandler method Null safety

String httpStatusHandler(
  1. int statusCode,
  2. [String? msg]
)

Traduz resposta do servidor para uma liguagem que os usuários entendam. Lista de códigos HTTP: https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status

Implementation

static String httpStatusHandler(int statusCode, [String? msg]) {
  if (msg != null) {
    return '$msg Cód: $statusCode';
  }

  String response = unknownStatusDefaultMsg;

  if (statusCode >= 500 && statusCode <= 599) {
    response = serverErrorDefaultMsg;
  } else if (statusCode >= 400 && statusCode <= 499) {
    switch (statusCode) {
      case HttpStatus.badRequest:
        response = 'Dados enviados contêm algum erro.';
        break;
      case HttpStatus.unauthorized:
        response = 'Usuário não autenticado. Realize login novamente.';
        break;
      case HttpStatus.forbidden:
        response =
            'Requisição rejeitada. Você não tem permissão para fazer isso.';
        break;
      case HttpStatus.notFound:
        response = 'Recurso não encontrado.';
        break;
      case HttpStatus.methodNotAllowed:
        response = 'Requisição com método incorreto.';
        break;
      default:
        response = clientErrorDefaultMsg;
    }
  } else if (statusCode >= 200 && statusCode <= 299) {
    switch (statusCode) {
      case HttpStatus.ok:
        response = 'Requisição foi bem sucedida.';
        break;
      case HttpStatus.created:
        response = 'Objeto criado.';
        break;
      case HttpStatus.accepted:
        response =
            'A requisição foi recebida mas nenhuma ação foi tomada sobre ela.';
        break;
      case HttpStatus.noContent:
        response =
            'Não há conteúdo para enviar para esta solicitação, mas os cabeçalhos podem ser úteis.';
        break;
      default:
        response = successDefaultMsg;
    }
  } else if (statusCode >= 300 && statusCode <= 399) {
    switch (statusCode) {
      case HttpStatus.multipleChoices:
        response = 'A requisição tem mais de uma resposta possível.';
        break;
      case HttpStatus.movedPermanently:
        response = 'A URI do recurso requerido mudou.';
        break;
      default:
        response = redirectDefaultMsg;
    }
  } else if (statusCode <= 199) {
    response = informationDefaultMsg;
  }

  return response + ' Cód: $statusCode';
}