UNPKG

terriajs

Version:

Geospatial data visualization platform.

45 lines 1.84 kB
import i18next from "i18next"; import loadJson from "./loadJson"; const DEFAULT_URL = "serverconfig/"; /** * Provides information about the configuration of the Terria server, by querying /serverconfig */ class ServerConfig { /** * Contains configuration information retrieved from the server. The attributes are defined by TerriaJS-Server but include: * version: current version of server * proxyAllDomains: whether all domains can be proxied * allowProxyFrom: array of domains that can be proxied * maxConversionSize: maximum size, in bytes, of files that can be uploaded to conversion service * newShareUrlPrefix: if defined, the share URL service is active * shareUrlPrefixes: object defining share URL prefixes that can be resolved * additionalFeedbackParameters: array of additional feedback parameters that can be used */ config; serverConfigUrl; /** * Initialises the object by fetching the configuration from the server. Note * that if the request to get config from the proxy server fails, an error is * logged and nothing else happens. * * @param serverConfigUrl Optional override URL. * @return Promise that resolves to the configuration object itself. */ async init(serverConfigUrl) { if (this.config !== undefined) { return Promise.resolve(this.config); } this.serverConfigUrl = serverConfigUrl ?? DEFAULT_URL; try { this.config = await loadJson(this.serverConfigUrl); return this.config; } catch { console.error(i18next.t("core.serverConfig.failedToGet", { serverConfigUrl: this.serverConfigUrl })); } } } export default ServerConfig; //# sourceMappingURL=ServerConfig.js.map