OfflineFirstWithRestRepository constructor

OfflineFirstWithRestRepository({
  1. required RestProvider restProvider,
  2. required SqliteProvider sqliteProvider,
  3. MemoryCacheProvider? memoryCacheProvider,
  4. required Set<Migration> migrations,
  5. bool? autoHydrate,
  6. String? loggerName,
  7. RequestSqliteCacheManager? offlineQueueHttpClientRequestSqliteCacheManager,
  8. bool throwTunnelNotFoundExceptions = false,
  9. List<int> reattemptForStatusCodes = const [404, 501, 502, 503, 504],
})

Implementation

OfflineFirstWithRestRepository({
  required RestProvider restProvider,
  required SqliteProvider sqliteProvider,
  MemoryCacheProvider? memoryCacheProvider,
  required Set<Migration> migrations,
  bool? autoHydrate,
  String? loggerName,
  RequestSqliteCacheManager? offlineQueueHttpClientRequestSqliteCacheManager,
  this.throwTunnelNotFoundExceptions = false,
  this.reattemptForStatusCodes = const [404, 501, 502, 503, 504],
})  : remoteProvider = restProvider,
      super(
        autoHydrate: autoHydrate,
        loggerName: loggerName,
        memoryCacheProvider: memoryCacheProvider,
        migrations: migrations,
        sqliteProvider: sqliteProvider,
        remoteProvider: restProvider,
      ) {
  remoteProvider.client = OfflineQueueHttpClient(
    restProvider.client,
    offlineQueueHttpClientRequestSqliteCacheManager ??
        RequestSqliteCacheManager(_queueDatabaseName),
    reattemptForStatusCodes: reattemptForStatusCodes,
  );
  offlineRequestQueue = OfflineRequestQueue(
    client: remoteProvider.client as OfflineQueueHttpClient,
  );
}