parseError function
String
parseError(
- dynamic errorResponse,
- String? defaultMessage, [
- bool ignore401 = false
])
Implementation
String parseError(
dynamic errorResponse,
String? defaultMessage, [
bool ignore401 = false,
]) {
try {
final fallbackMessage = defaultMessage != null && defaultMessage.isNotEmpty
? defaultMessage
: "My request failed due to an unexpected error, please try again";
try {
final int statusCode = errorResponse["statusCode"] ?? 400;
final dynamic error = errorResponse["data"];
if (error is Map) {
if (error["message"] != null &&
error["message"] is String &&
error["message"].isNotEmpty) {
return error["message"];
} else if (error.containsKey("errors") && error["errors"] != null) {
return _parseErrorArray(error["errors"]) ??
_fallBackMessage(statusCode, defaultMessage!);
} else {
return _fallBackMessage(statusCode, fallbackMessage);
}
}
if (error is String) {
return error.isNotEmpty
? _fallBackMessage(statusCode, error)
: _fallBackMessage(statusCode, fallbackMessage);
}
return _fallBackMessage(statusCode, fallbackMessage);
} catch (_) {
return fallbackMessage;
}
} catch (_) {
return defaultMessage ??
"My request failed due to an unexpected error, please try again";
}
}