request<T> static method

Future<ApiResult<T>> request<T>({
  1. required RequestCall request,
  2. required ResponseParser<T> response,
})

Implementation

static Future<ApiResult<T>> request<T>({
  required RequestCall request,
  required ResponseParser<T> response,
}) async {
  try {
    final res = await request();
    final parsed = response(res.data);
    return ApiSuccess<T>(parsed, res.statusCode);
  } on DioException catch (e) {
    return _handleError<T>(e);
  } catch (e) {
    if (DioApiHandler.config.onError != null) {
      DioApiHandler.config.onError!(e, null);
    }
    return ApiFailure("Unexpected error", errorDetails: e);
  }
}