You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
Dart
41 lines
1.2 KiB
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;
|
|
}
|
|
}
|
|
}
|