import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { inject, Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { UI_ROOT_PATH_FN } from '../utils/tokens'; import { getConfig } from './iqser-config.service'; @Injectable() export class ApiPathInterceptor implements HttpInterceptor { readonly #config = getConfig(); readonly #convertPath = inject(UI_ROOT_PATH_FN); intercept(req: HttpRequest, next: HttpHandler): Observable> { if (!req.url.startsWith('/assets')) { const apiUrl = `${this.#config.API_URL}${req.url}`; return next.handle(req.clone({ url: apiUrl })); } const url = this.#convertPath(req.url); return next.handle(req.clone({ url })); } }