diff --git a/lib/services/api/network_exception.dart b/lib/services/api/network_exception.dart index 2b61e28..d8f8d23 100644 --- a/lib/services/api/network_exception.dart +++ b/lib/services/api/network_exception.dart @@ -32,7 +32,7 @@ class ServerFailure extends Failure { // var document = parser.parse(dioError.response!.data.toString()); // var message = document.body!.text; return ServerFailure.fromResponse(dioError.response!.statusCode!, - dioError.response!.data['message']); + dioError.response?.data['message'] ?? "Error"); } case DioExceptionType.cancel: return ServerFailure("The request to ApiServer was canceled"); @@ -48,25 +48,25 @@ class ServerFailure extends Failure { } } - factory ServerFailure.fromResponse(int? statusCode, dynamic response) { + factory ServerFailure.fromResponse(int? statusCode, dynamic responseMessage) { switch (statusCode) { case 401: case 403: - return ServerFailure(response); + return ServerFailure(responseMessage); case 400: List errors = []; - if (response['message'] is List) { - for (var error in response['message']) { + if (responseMessage is List) { + for (var error in responseMessage) { errors.add(error); } } else { - errors.add(response['message']); + return ServerFailure(responseMessage); } return ServerFailure(errors.join('\n')); case 404: return ServerFailure("Your request not found, Please try later!"); case 500: - return ServerFailure(response); + return ServerFailure(responseMessage); default: return ServerFailure("Opps there was an Error, Please try again!"); }