init static method

dynamic init({
  1. required Uri server,
  2. required String token,
  3. Map<String, dynamic>? defaultFilter,
  4. Map<String, dynamic> api = const {},
})

Implementation

static init({
  // cockpit host (url)
  required Uri server,
  required String token,
  Map<String, dynamic>? defaultFilter,
  Map<String, dynamic> api = const {}
}) {
  var baseUrl = server.path;
  server = server.replace(path: "", query: "");
  Map<String, dynamic> config = {
    "api" : api,
    "server" : server.toString().replaceFirst(RegExp(r"\?$"), ""),
    "token" : token,
    "baseUrl" : baseUrl,
    "filter" : defaultFilter
  };

  if(config["api"] ==  null)
    config["api"] = <String,dynamic>{};
  if(config["baseUrl"] ==  null)
    config["baseUrl"] = "";
  _config = config;
  if ((_config["baseUrl"] as String).endsWith("/"))
    _config["baseUrl"] =
        _config["baseUrl"].substring(0, _config["baseUrl"].length - 1);
  _config["baseUrl"] =
      ("/"+_config["baseUrl"]).replaceAll(RegExp(r"/+"), "/");
  if (_config["server"].endsWith("/"))
    _config["server"] =
        _config["server"].substring(0, _config["server"].length - 1);
}