request<T> method

Future<Result<T>> request<T>(
  1. String api,
  2. String method, {
  3. Map<String, dynamic>? data,
  4. Map<String, dynamic>? queryParameters,
  5. bool showLoading = false,
  6. T? fakeData,
})

Implementation

Future<Result<T>> request<T>(
  String api,
  String method, {
  Map<String, dynamic>? data,
  Map<String, dynamic>? queryParameters,
  bool showLoading = false,
  T? fakeData,
}) async {
  try {
    try {
      if (showLoading) BotToast.showLoading();
    } catch (_) {}
    if (fakeData != null) return await _fakeRequest<T>(fakeData);
    final response = await dio.request<T>(
      api,
      data: data,
      queryParameters: queryParameters,
      options: Options(method: method),
    );
    return Result(response: response);
  } catch (e) {
    return Result(error: e);
  } finally {
    try {
      if (showLoading) BotToast.closeAllLoading();
    } catch (_) {}
  }
}