Allow for un-captured route of config.yml (#1182)
This commit is contained in:
parent
b2051343cc
commit
d5cd79f2c4
@ -75,6 +75,21 @@ function parseConfig(data) {
|
||||
return config;
|
||||
}
|
||||
|
||||
async function getConfig(file, isPreloaded) {
|
||||
const response = await fetch(file, { credentials: 'same-origin' });
|
||||
if (response.status !== 200) {
|
||||
if (isPreloaded) return parseConfig('');
|
||||
throw new Error(`Failed to load config.yml (${ response.status })`);
|
||||
}
|
||||
const contentType = response.headers.get('Content-Type') || 'Not-Found';
|
||||
const isYaml = contentType.indexOf('yaml') !== -1;
|
||||
if (!isYaml) {
|
||||
console.log(`Response for ${ file } was not yaml. (Content-Type: ${ contentType })`);
|
||||
if (isPreloaded) return parseConfig('');
|
||||
}
|
||||
return parseConfig(await response.text());
|
||||
}
|
||||
|
||||
export function configLoaded(config) {
|
||||
return {
|
||||
type: CONFIG_SUCCESS,
|
||||
@ -115,19 +130,12 @@ export function loadConfig() {
|
||||
|
||||
try {
|
||||
const preloadedConfig = getState().config;
|
||||
const response = await fetch('config.yml', { credentials: 'same-origin' })
|
||||
const requestSuccess = response.status === 200;
|
||||
|
||||
if (!preloadedConfig && !requestSuccess) {
|
||||
throw new Error(`Failed to load config.yml (${ response.status })`);
|
||||
}
|
||||
|
||||
const loadedConfig = parseConfig(requestSuccess ? await response.text() : '');
|
||||
const loadedConfig = await getConfig('config.yml', preloadedConfig && preloadedConfig.size > 1);
|
||||
|
||||
/**
|
||||
* Merge any existing configuration so the result can be validated.
|
||||
*/
|
||||
const mergedConfig = mergePreloadedConfig(preloadedConfig, loadedConfig)
|
||||
const mergedConfig = mergePreloadedConfig(preloadedConfig, loadedConfig);
|
||||
const config = flow(validateConfig, applyDefaults)(mergedConfig);
|
||||
|
||||
dispatch(configDidLoad(config));
|
||||
|
Loading…
x
Reference in New Issue
Block a user