_getIOnamespace() {
    let ioNamespace;
    ioNamespace = this.cookies["uibuilder-namespace"];
    if (ioNamespace === void 0 || ioNamespace === "") {
      const u = window.location.pathname.split("/").filter(function(t) {
        return t.trim() !== "";
      });
      if (u.length > 0 && u[u.length - 1].endsWith(".html")) u.pop();
      ioNamespace = u.pop();
      log("trace", "uibuilder.module.js:getIOnamespace", "Socket.IO namespace found via url path: ".concat(ioNamespace))();
    } else {
      log("trace", "uibuilder.module.js:getIOnamespace", "Socket.IO namespace found via cookie: ".concat(ioNamespace))();
    }
    this.url = ioNamespace;
    ioNamespace = "/" + ioNamespace;
    log("trace", "uibuilder.module.js:getIOnamespace", "Final Socket.IO namespace: ".concat(ioNamespace))();
    return ioNamespace;
  }
Return the Socket.IO namespace
The cookie method is the most reliable but this falls back to trying to work it
out from the URL if cookies not available. That won't work if page is in a sub-folder.
since 2017-10-21 Improve method to cope with more complex paths - thanks to Steve Rickus @shrickus
since 2017-11-10 v1.0.1 Check cookie first then url. cookie works even if the path is more complex (e.g. sub-folder)
since 2020-01-25 Removed httpRoot from namespace to prevent proxy induced errors
@returns {string} Socket.IO namespace
@private