executeDownload<T> static method
Future<YKResult<T> >
executeDownload<T>(
- List<
YKInterceptor> interceptors, - int maxRetries,
- YKNetworkingRequest request, {
- int retryCount = 0,
- Set<
String> ? retrySkipNames,
Implementation
static Future<YKResult<T>> executeDownload<T>(
List<YKInterceptor> interceptors,
int maxRetries,
YKNetworkingRequest request, {
int retryCount = 0,
Set<String>? retrySkipNames,
}) async {
final dio = YKNetworkingConfig.getInstance().dio;
return _executeWithChain<T>(
interceptors: interceptors,
maxRetries: maxRetries,
request: request,
retryCount: retryCount,
retrySkipNames: retrySkipNames,
transport: () async {
dio.options.baseUrl = request.baseUrl;
final Response dioResponse;
if (request.downloadPath != null && request.downloadPath!.isNotEmpty) {
dioResponse = await dio.download(
request.path,
request.downloadPath!,
queryParameters: request.params,
options: Options(headers: request.commheader, responseType: ResponseType.bytes),
cancelToken: request.cancelToken,
onReceiveProgress: request.progressCallBack,
);
} else {
dioResponse = await dio.get(
request.path,
queryParameters: request.params,
options: Options(headers: request.commheader, responseType: ResponseType.bytes),
cancelToken: request.cancelToken,
onReceiveProgress: request.progressCallBack,
);
}
return YKInterceptorResponse(
data: dioResponse.data,
statusCode: dioResponse.statusCode ?? 200,
headers: dioResponse.headers.map,
request: request,
);
},
);
}