Estoy tratando de establecer un nuevo encabezado en cada respuesta http para que la respuesta incluya una política de seguridad de contenido usando la última versión de angular. Creé este interceptor http, y cuando voy a agregar al encabezado no obtengo ningún error ni nada, pero en realidad no se agrega nada a los encabezados de respuesta. Aquí está el código que tengo para el interceptor. ¿Hay algo que deba cambiar aquí, o no es posible agregar encabezados de respuesta a cada respuesta http de angular.
HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { filter, map, tap } from 'rxjs/operators'; @Injectable() export class AddHeaderInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { return next.handle(req).pipe( filter(event => event instanceof HttpResponse), tap((event: HttpResponse<any>) => { event.headers.append('content-security-policy', 'some content-security-policy') }) ); } }No puede modificar el historial: la pestaña de red muestra lo que se envió a través de la red y no puede cambiarlo retroactivamente.
Lo que puede hacer un HttpInterceptor es cambiar su propia copia de los encabezados recibidos antes de pasárselos al suscriptor.
Además, el navegador interpreta un encabezado de seguridad de contenido antes de pasar la respuesta a JavaScript.