vulcain-corejs
Version:
Vulcain micro-service framework
51 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fileConfigurationSource_1 = require("./sources/fileConfigurationSource");
const vulcainConfigurationSource_1 = require("./sources/vulcainConfigurationSource");
const system_1 = require("../globals/system");
/**
* Helper for adding configuration source providing by DynamicConfiguration.init
*/
class ConfigurationSourceBuilder {
constructor(_configurationManager) {
this._configurationManager = _configurationManager;
this._sources = [];
this.addVulcainSource();
}
addSource(source) {
this._sources.push(source);
return this;
}
addVulcainSource() {
if (system_1.Service.vulcainServer) {
if (!system_1.Service.vulcainToken && !system_1.Service.isTestEnvironment) {
system_1.Service.log.info(null, () => "No token defined for reading configuration properties. Vulcain configuration source is ignored.");
}
else {
let uri = `http://${system_1.Service.vulcainServer}/api/configforservice`;
let options = {
environment: system_1.Service.environment,
service: system_1.Service.serviceName,
version: system_1.Service.serviceVersion,
domain: system_1.Service.domainName
};
this.addSource(new vulcainConfigurationSource_1.VulcainConfigurationSource(uri, options));
}
}
return this;
}
/*public addRestSource(uri:string)
{
this.addSource(new HttpConfigurationSource(uri));
return this;
}*/
addFileSource(path, mode = fileConfigurationSource_1.ConfigurationDataType.Json) {
this._sources.push(new fileConfigurationSource_1.FileConfigurationSource(path, mode));
return this;
}
startPolling() {
return this._configurationManager.startPolling(this._sources);
}
}
exports.ConfigurationSourceBuilder = ConfigurationSourceBuilder;
//# sourceMappingURL=configurationSourceBuilder.js.map