@@ -79,26 +79,39 @@ export class HttpResourcesService implements CoreService<InternalHttpResourcesSe
7979 route : RouteConfig < P , Q , B , 'get' > ,
8080 handler : HttpResourcesRequestHandler < P , Q , B >
8181 ) => {
82- return router . get < P , Q , B > ( route , ( context , request , response ) => {
82+ return router . get < P , Q , B > ( route , async ( context , request , response ) => {
8383 return handler ( context , request , {
8484 ...response ,
85- ...this . createResponseToolkit ( deps , context , request , response ) ,
85+ ...( await this . createResponseToolkit ( deps , context , request , response ) ) ,
8686 } ) ;
8787 } ) ;
8888 } ,
8989 } ;
9090 }
9191
92- private createResponseToolkit (
92+ private async createResponseToolkit (
9393 deps : SetupDeps ,
9494 context : RequestHandlerContext ,
9595 request : OpenSearchDashboardsRequest ,
9696 response : OpenSearchDashboardsResponseFactory
97- ) : HttpResourcesServiceToolkit {
97+ ) : Promise < HttpResourcesServiceToolkit > {
9898 const cspHeader = deps . http . csp . header ;
99-
10099 const cspReportOnly = deps . http . cspReportOnly ;
101- const cspReportOnlyHeaders = cspReportOnly . isEmitting
100+
101+ let cspReportOnlyIsEmitting : boolean ;
102+ try {
103+ const dynamicConfigClient = context . core . dynamicConfig . client ;
104+ const dynamicConfigStore = context . core . dynamicConfig . createStoreFromRequest ( request ) ;
105+ const cspReportOnlyDynamicConfig = await dynamicConfigClient . getConfig (
106+ { pluginConfigPath : 'csp-report-only' } ,
107+ dynamicConfigStore ? { asyncLocalStorageContext : dynamicConfigStore } : undefined
108+ ) ;
109+ cspReportOnlyIsEmitting = cspReportOnlyDynamicConfig ?. isEmitting ?? cspReportOnly . isEmitting ;
110+ } catch ( e ) {
111+ cspReportOnlyIsEmitting = cspReportOnly . isEmitting ;
112+ }
113+
114+ const cspReportOnlyHeaders = cspReportOnlyIsEmitting
102115 ? {
103116 'content-security-policy-report-only' : cspReportOnly . cspReportOnlyHeader ,
104117 'reporting-endpoints' : cspReportOnly . reportingEndpointsHeader ,
0 commit comments