vulcain-corejs
Version:
Vulcain micro-service framework
45 lines (43 loc) • 1.66 kB
JavaScript
;
const system_1 = require('./../globals/system');
const configurationSource_1 = require('./configurationSource');
const vulcainConfigurationSource_1 = require('./vulcainConfigurationSource');
const fileConfigurationSource_1 = require('./fileConfigurationSource');
/**
* Helper for adding configuration source providing by DynamicConfiguration.init
*/
class ConfigurationSourceBuilder {
constructor(_configurationManager) {
this._configurationManager = _configurationManager;
this._sources = [];
}
addSource(source) {
this._sources.push(source);
return this;
}
addVulcainSource() {
let uri = `http://${system_1.System.vulcainServer}/api/config.forservice`;
let options = {
cluster: system_1.System.environment,
service: system_1.System.serviceName,
version: system_1.System.serviceVersion,
namespace: system_1.System.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 = configurationSource_1.ConfigurationDataType.Json) {
this.addSource(new fileConfigurationSource_1.FileConfigurationSource(path, mode));
return this;
}
startPollingAsync() {
return this._configurationManager.registerSourcesAsync(this._sources);
}
}
exports.ConfigurationSourceBuilder = ConfigurationSourceBuilder;
//# sourceMappingURL=configurationSourceBuilder.js.map