UNPKG

@spartacus/core

Version:

Spartacus - the core framework

41 lines 4.75 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../config/occ-config"; /** * Http interceptor to add cookies to all cross-site requests. */ export class WithCredentialsInterceptor { constructor(config) { this.config = config; } /** * Intercepts each request and adds the `withCredential` flag to it * if it hasn't been added already. */ intercept(request, next) { if (this.requiresWithCredentials(request)) { request = request.clone({ withCredentials: true, }); } return next.handle(request); } /** * indicates whether the request should use the WithCredentials flag. */ requiresWithCredentials(request) { var _a, _b; return (((_a = this.occConfig) === null || _a === void 0 ? void 0 : _a.useWithCredentials) && request.url.indexOf((_b = this.occConfig) === null || _b === void 0 ? void 0 : _b.prefix) > -1); } get occConfig() { return this.config.backend.occ; } } WithCredentialsInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: WithCredentialsInterceptor, deps: [{ token: i1.OccConfig }], target: i0.ɵɵFactoryTarget.Injectable }); WithCredentialsInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: WithCredentialsInterceptor, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: WithCredentialsInterceptor, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.OccConfig }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVkZW50aWFscy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL29jYy9pbnRlcmNlcHRvcnMvd2l0aC1jcmVkZW50aWFscy5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQXNCLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBRyxDQUFDO0lBRTNDOzs7T0FHRztJQUNILFNBQVMsQ0FDUCxPQUF5QixFQUN6QixJQUFpQjtRQUVqQixJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ08sdUJBQXVCLENBQUMsT0FBeUI7O1FBQ3pELE9BQU8sQ0FDTCxDQUFBLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsa0JBQWtCO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ2pDLENBQUM7O3VIQS9CVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQURiLE1BQU07MkZBQ25CLDBCQUEwQjtrQkFEdEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPY2NDb25maWcgfSBmcm9tICcuLi9jb25maWcvb2NjLWNvbmZpZyc7XG5cbi8qKlxuICogSHR0cCBpbnRlcmNlcHRvciB0byBhZGQgY29va2llcyB0byBhbGwgY3Jvc3Mtc2l0ZSByZXF1ZXN0cy5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBXaXRoQ3JlZGVudGlhbHNJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjb25maWc6IE9jY0NvbmZpZykge31cblxuICAvKipcbiAgICogSW50ZXJjZXB0cyBlYWNoIHJlcXVlc3QgYW5kIGFkZHMgdGhlIGB3aXRoQ3JlZGVudGlhbGAgZmxhZyB0byBpdFxuICAgKiBpZiBpdCBoYXNuJ3QgYmVlbiBhZGRlZCBhbHJlYWR5LlxuICAgKi9cbiAgaW50ZXJjZXB0KFxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmICh0aGlzLnJlcXVpcmVzV2l0aENyZWRlbnRpYWxzKHJlcXVlc3QpKSB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogaW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlcXVlc3Qgc2hvdWxkIHVzZSB0aGUgV2l0aENyZWRlbnRpYWxzIGZsYWcuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWlyZXNXaXRoQ3JlZGVudGlhbHMocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm9jY0NvbmZpZz8udXNlV2l0aENyZWRlbnRpYWxzICYmXG4gICAgICByZXF1ZXN0LnVybC5pbmRleE9mKHRoaXMub2NjQ29uZmlnPy5wcmVmaXgpID4gLTFcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgb2NjQ29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5iYWNrZW5kLm9jYztcbiAgfVxufVxuIl19