feat:dio client done

This commit is contained in:
jahongireshonqulov
2025-10-28 17:03:13 +05:00
parent c528f7a07e
commit 4c652c2b47
18 changed files with 336 additions and 3 deletions

View File

@@ -0,0 +1,32 @@
import 'package:dio/dio.dart';
class ServerException implements Exception {
final String errorMessage;
final String errorKey;
final num statusCode;
const ServerException({
required this.statusCode,
required this.errorMessage,
required this.errorKey,
});
@override
String toString() {
return 'ServerException(statusCode: $statusCode, errorMessage: $errorMessage, errorKey: $errorKey)';
}
}
class CustomDioException implements Exception {
final String errorMessage;
final DioExceptionType type;
final int? statusCode;
CustomDioException({required this.errorMessage, required this.type, this.statusCode});
}
class ParsingException implements Exception {
final String errorMessage;
const ParsingException({required this.errorMessage});
}

View File

@@ -0,0 +1,44 @@
import 'package:equatable/equatable.dart';
import 'package:dio/dio.dart';
class Failure extends Equatable {
final String? errorMessage;
final String? errorKey;
const Failure({
this.errorMessage,
this.errorKey,
}); //error key kere bomasa required qilish shartamas
@override
List<Object?> get props => [
errorMessage,
errorKey,
];
}
class ServerFailure extends Failure {
final num statusCode;
const ServerFailure({
required super.errorMessage,
required this.statusCode,
required super.errorKey,
});
}
class DioFailure extends Failure {
final DioExceptionType type;
final int? statusCode;
const DioFailure({
required super.errorMessage,
this.type = DioExceptionType.badResponse,
this.statusCode,
});
}
class ParsingFailure extends Failure {
const ParsingFailure({required super.errorMessage});
}
class CacheFailure extends Failure {}