delete method

  1. @override
Future<Either<NetworkError, dynamic>> delete(
  1. {required String deletePath,
  2. int retry = 0,
  3. Map<String, dynamic>? queryParameter,
  4. Map<String, dynamic>? header}
)
override

Implementation

@override
Future<Either<NetworkError, dynamic>> delete(
    {required String deletePath,
    int retry = 0,
    Map<String, dynamic>? queryParameter,
    Map<String, dynamic>? header}) async {
  final connectivityResult = await connectivity.checkConnectivity();
  if (connectivityResult != ConnectivityResult.none) {
    try {
      // await baseStorage.openBox(StorageConstants.base);
      final Map<String, dynamic> dioHeader = _dio.options.headers;
      final Map<String, dynamic> headers = {
        'content-type': ContentType.json.mimeType,
        'Accept': ContentType.json.mimeType,
      };
      if (header != null) {
        headers.addAll(header);
      }
      dioHeader.addAll(headers);
      _dio.options.headers = dioHeader;
      final Response response = await _requestDelete(
        retry: retry,
        path: deletePath,
        queryParameter: queryParameter,
      );
      return right(response.data);
    } on DioError catch (e) {
      debugPrint('================ERROR==================');
      debugPrint(e.type.toString());

      switch (e.type) {
        case DioErrorType.connectionTimeout:
          return left(const NetworkError.timeout());
        case DioErrorType.unknown:
          return left(NetworkError.other(e: e));
        default:
          return left(NetworkError.serverError(response: e.response));
      }
    }
  } else {
    return left(const NetworkError.noInternet());
  }
}