Skip to content

Commit 260897b

Browse files
fix: validate runtime config parsing
1 parent 3040a38 commit 260897b

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

runtime/initialize.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,13 @@ async function runtimeConfig() {
181181
}
182182

183183
const { data } = await apiService.get(runtimeConfigUrl.toString(), apiConfig);
184+
if (!data || typeof data !== 'object' || Array.isArray(data)) {
185+
throw new TypeError('Runtime config must be a valid JSON object.');
186+
}
184187
mergeSiteConfig(data, { limitAppMergeToConfig: true });
185188
}
186189
} catch (error) {
187-
console.error('Error with config API', error.message);
190+
console.error('Error with config API:', error.message);
188191
}
189192
}
190193

runtime/initialize.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ describe('initialize', () => {
377377
});
378378

379379
expect(configureCache).toHaveBeenCalled();
380-
expect(console.error).toHaveBeenCalledWith('Error with config API', 'Api fails');
380+
expect(console.error).toHaveBeenCalledWith('Error with config API:', 'Api fails');
381381
expect(configureLogging).toHaveBeenCalledWith(NewRelicLoggingService, { config });
382382
expect(configureAuth).toHaveBeenCalledWith(AxiosJwtAuthService, {
383383
loggingService: getLoggingService(),

0 commit comments

Comments
 (0)