import 'package:meta/meta.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class HttpStatusManger { static String getStatusMessage({ @required int status, @required AppLocalizations subtitle, String messageFor400, String messageFor200, }) { if (status == null) // no status code - code error no need for subtitle return "careful null status"; if (status == -1) // client's request in process return subtitle.serverErrorMessage; if (status == -2) { // client's request in process return subtitle.requestLockMessage; } else if (status >= 200 && status < 300) { // client's request was successfully received return messageFor200 ?? subtitle.successfulRequestMessage; } else if (status >= 400 && status < 500) { // client's request have error switch (status) { case 400: return messageFor400 ?? subtitle.failedRequestMessage; default: return subtitle.failedRequestMessage; } } else if (status >= 500) { // server error return subtitle.serverErrorMessage; } else { // no error match so return default error return subtitle.failedRequestMessage; } } }