mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-15 17:47:28 +00:00
initialized Application theme
This commit is contained in:
64
lib/services/api/network_exception.dart
Normal file
64
lib/services/api/network_exception.dart
Normal file
@ -0,0 +1,64 @@
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
abstract class Failure {
|
||||
final String errMessage;
|
||||
|
||||
Failure(this.errMessage);
|
||||
}
|
||||
|
||||
class ServerFailure extends Failure {
|
||||
ServerFailure(super.errMessage);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return errMessage;
|
||||
}
|
||||
|
||||
factory ServerFailure.fromDioError(DioException dioError) {
|
||||
switch (dioError.type) {
|
||||
case DioExceptionType.connectionTimeout:
|
||||
return ServerFailure("Connection timeout with ApiServer.");
|
||||
case DioExceptionType.sendTimeout:
|
||||
return ServerFailure("Send timeout with ApiServer.");
|
||||
|
||||
case DioExceptionType.receiveTimeout:
|
||||
return ServerFailure("Receive timeout with ApiServer.");
|
||||
|
||||
case DioExceptionType.badCertificate:
|
||||
return ServerFailure("Bad certificate!");
|
||||
|
||||
case DioExceptionType.badResponse:
|
||||
return ServerFailure.fromResponse(
|
||||
dioError.response!.statusCode!, dioError.response!.data);
|
||||
case DioExceptionType.cancel:
|
||||
return ServerFailure("The request to ApiServer was canceled");
|
||||
|
||||
case DioExceptionType.connectionError:
|
||||
return ServerFailure("No Internet Connection");
|
||||
|
||||
case DioExceptionType.unknown:
|
||||
return ServerFailure("Unexpected Error, Please try again!");
|
||||
}
|
||||
}
|
||||
|
||||
factory ServerFailure.fromResponse(int statusCode, dynamic response) {
|
||||
if (statusCode == 400 || statusCode == 401 || statusCode == 403) {
|
||||
return ServerFailure(response);
|
||||
} else if (statusCode == 404) {
|
||||
return ServerFailure("Your request not found, Please try later!");
|
||||
} else if (statusCode == 500) {
|
||||
return ServerFailure(response);
|
||||
} else {
|
||||
return ServerFailure("Opps there was an Error, Please try again!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ResponseFailure extends Failure {
|
||||
ResponseFailure(super.errMessage);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return errMessage;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user