patchHttp method
Future<Either<NetworkError, dynamic> >
patchHttp({
- required String path,
- int retry = 0,
- String? parameter,
- Map<
String, dynamic> ? queryParameter, - dynamic content,
- String? contentType,
- Map<
String, dynamic> ? header, - dynamic onSendProgress()?,
- dynamic onReceiveProgress()?,
- RetryEvaluator? evaluator,
override
Implementation
@override
Future<Either<NetworkError, dynamic>> patchHttp({
required String path,
int retry = 0,
String? parameter,
Map<String, dynamic>? queryParameter,
dynamic content,
String? contentType,
Map<String, dynamic>? header,
Function(int, int)? onSendProgress,
Function(int, int)? onReceiveProgress,
RetryEvaluator? evaluator,
}) 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 _requestPatch(
retry: retry,
path: path,
content: content,
onSendProgress: onSendProgress,
queryParameter: queryParameter,
onReceiveProgress: onReceiveProgress,
);
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());
}
}