requestUri<T> method

Future<BaseModel> requestUri<T>(
  1. Uri uri, {
  2. Object? data,
  3. dynamic tag,
  4. bool? loading,
  5. bool dataToJson = true,
  6. Options? options,
  7. CancelToken? cancelToken,
  8. ProgressCallback? onSendProgress,
  9. ProgressCallback? onReceiveProgress,
})

Implementation

Future<BaseModel> requestUri<T>(
  Uri uri, {
  Object? data,
  dynamic tag,
  bool? loading,
  bool dataToJson = true,
  Options? options,
  CancelToken? cancelToken,
  ProgressCallback? onSendProgress,
  ProgressCallback? onReceiveProgress,
}) async {
  assert(_singleton != null, '请先调用 initialize');
  if (await checkNetwork) return buildBaseModel;
  _addLoading(loading);
  data = baseDioOptions.extraUriData?.call(uri, data) ?? data;
  uri = baseDioOptions.extraUri?.call(uri) ?? uri;
  final res = await dio.requestUri<T>(uri,
      options: _mergeOptions(options, uri.path),
      cancelToken: cancelToken,
      onReceiveProgress: onReceiveProgress,
      onSendProgress: onSendProgress,
      data: dataToJson ? jsonEncode(data) : data);
  return _handleResponse(res, tag);
}