ApiClient constructor

ApiClient({
  1. bool shouldUsePersistentUrl = false,
  2. bool shouldUseDeviceInfo = false,
  3. RefreshInterceptor? refreshInterceptor,
})

Implementation

ApiClient({
  bool shouldUsePersistentUrl = false,
  bool shouldUseDeviceInfo = false,
  RefreshInterceptor? refreshInterceptor,
}) : dio = Dio() {
  if (refreshInterceptor != null) {
    this.refreshInterceptor = refreshInterceptor;
  }

  dio.options.baseUrl = baseUrl;

  if (shouldUseDeviceInfo) {
    dio.interceptors.add(DeviceInfoInterceptor());
  }

  if (!kIsWeb) {
    dio.interceptors
        .add(SupaArchitecturePlatform.instance.cookieStorage.interceptor);
    if (shouldUsePersistentUrl) {
      dio.interceptors.add(PersistentUrlInterceptor());
    }
  }

  dio.interceptors
    ..add(TimezoneInterceptor())
    ..add(GeneralErrorLogInterceptor())
    ..add(this.refreshInterceptor);
}