FusabaseOracledb constructor

FusabaseOracledb(
  1. {required FusabaseApp app}
)

Implementation

FusabaseOracledb({required this.app})
  : this.__logLevel = app.logLevel,
    settings = Settings(
      host: "",
      sslEnabled: false,
      webExperimentalLongPollingOptions: WebExperimentalLongPollingOptions(
        timeoutDuration: Duration(
          seconds: FusabaseOptions.defaultLongPollingIntervalSeconds,
        ),
      ),
    ),
    _snapStore = SnapshotStorage(
      "${app.options.appID}_BAAS_SNAPS",
      "snapshots",
    ),
    _queryIdMap = {},
    _messageQueue = {},
    _activeRealtimeSubscriptions = {},
    _localQueryIdMap = {},
    _snapshotControllerMap = {},
    _bundleStore = BundleStore(
      "${app.options.appID}_BAAS_BUNDLES",
      "bundles",
    ) {
  String socketURL = app.options.ordsHost;
  String cert = socketURL.split("://")[0];
  bool useSSL = true;
  if (cert == "http") {
    useSSL = false;
  }
  socketURL = socketURL.split("://")[1];
  String schemaName = socketURL.split("ords")[1];
  socketURL = socketURL.split("ords")[0];
  socketURL = "${socketURL}ords/baas-realtime$schemaName";

  settings = Settings(
    host: socketURL,
    sslEnabled: useSSL,
    webExperimentalForceLongPolling: !app.options.useSocket,
    webExperimentalAutoDetectLongPolling: app.options.useSocket,
    webExperimentalLongPollingOptions: WebExperimentalLongPollingOptions(
      timeoutDuration: Duration(
        seconds: FusabaseOptions.normalizeLongPollingInterval(
          app.options.longPollingInterval,
        ),
      ),
    ),
  );

  bool uselongPolling = settings.webExperimentalForceLongPolling ?? true;
  if (settings.webExperimentalForceLongPolling ?? true) {
    uselongPolling = true;
  }
  _socketManager = null;
  // if (!uselongPolling) {
  //   createSocketClient(app.auth).then((sManager) {
  //     _socketManager = sManager;
  //   });
  // } else {
  //   _socketManager = null;
  // }
  preSnapshot();
}