import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, } from '@angular/common/http' import { Injectable } from '@angular/core' import { Observable } from 'rxjs' import { CsrfService } from '../services/csrf.service' @Injectable() export class CsrfInterceptor implements HttpInterceptor { constructor(private csrfService: CsrfService) {} intercept( request: HttpRequest, next: HttpHandler ): Observable> { const csrfToken = this.csrfService.getToken() if (csrfToken) { request = request.clone({ setHeaders: { 'X-CSRFToken': csrfToken, }, }) } return next.handle(request) } }