upload method

  1. @override
Future<BaseResponse> upload(
  1. BaseRequest request, {
  2. bool useHeaders = true,
})
override

Implementation

@override
Future<BaseResponse> upload(BaseRequest request, {bool useHeaders = true}) async {
  final options = Options(headers: useHeaders ? _mergeHeaders(request.headers) : null);
  void onSendProgress(int sent, int total) {
    final progress = (sent / total * 100).toStringAsFixed(2);
    Logger.log('Upload progress: $progress%');
  }

  return _executeRequest(() => request.method == RequestType.patch
      ? _dio.patch(
          request.path,
          data: request.formData,
          options: options,
          onSendProgress: onSendProgress,
        )
      : _dio.post(
          request.path,
          data: request.formData,
          options: options,
          onSendProgress: onSendProgress,
        ));
}