UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

28 lines 3.98 kB
import { Injectable } from '@angular/core'; import { switchMap } from 'rxjs'; import { API_GATEWAY } from '../core/public-api'; import { ApiGatewayService } from './api-gateway.service'; import * as i0 from "@angular/core"; import * as i1 from "./api-gateway.service"; // Interceptor must provide with correct order, not provide in root here // https://angular.cn/guide/http#interceptor-order export class ApiGatewayInterceptor { constructor(apiGateway) { this.apiGateway = apiGateway; } intercept(req, next) { if (!req.url.startsWith(API_GATEWAY)) { return next.handle(req); } return this.apiGateway.getApiAddress().pipe(switchMap(apiAddress => { const url = req.url.replace(API_GATEWAY, apiAddress); return next.handle(req.clone({ url })); })); } static { this.ɵfac = function ApiGatewayInterceptor_Factory(t) { return new (t || ApiGatewayInterceptor)(i0.ɵɵinject(i1.ApiGatewayService)); }; } static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ApiGatewayInterceptor, factory: ApiGatewayInterceptor.ɵfac }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ApiGatewayInterceptor, [{ type: Injectable }], () => [{ type: i1.ApiGatewayService }], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWdhdGV3YXkuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXBpL2FwaS1nYXRld2F5LmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUUxRCx3RUFBd0U7QUFDeEUsa0RBQWtEO0FBRWxELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBNkIsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFBRyxDQUFDO0lBRTlELFNBQVMsQ0FBQyxHQUF5QixFQUFFLElBQWlCO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDekMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztzRkFkVSxxQkFBcUI7dUVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGFwaVxuICovXG5cbmltcG9ydCB7XG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQVBJX0dBVEVXQVkgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBBcGlHYXRld2F5U2VydmljZSB9IGZyb20gJy4vYXBpLWdhdGV3YXkuc2VydmljZSc7XG5cbi8vIEludGVyY2VwdG9yIG11c3QgcHJvdmlkZSB3aXRoIGNvcnJlY3Qgb3JkZXIsIG5vdCBwcm92aWRlIGluIHJvb3QgaGVyZVxuLy8gaHR0cHM6Ly9hbmd1bGFyLmNuL2d1aWRlL2h0dHAjaW50ZXJjZXB0b3Itb3JkZXJcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwaUdhdGV3YXk6IEFwaUdhdGV3YXlTZXJ2aWNlKSB7fVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICghcmVxLnVybC5zdGFydHNXaXRoKEFQSV9HQVRFV0FZKSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpR2F0ZXdheS5nZXRBcGlBZGRyZXNzKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChhcGlBZGRyZXNzID0+IHtcbiAgICAgICAgY29uc3QgdXJsID0gcmVxLnVybC5yZXBsYWNlKEFQSV9HQVRFV0FZLCBhcGlBZGRyZXNzKTtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcS5jbG9uZSh7IHVybCB9KSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=