UNPKG

@gorniv/ngx-universal

Version:
62 lines 7.62 kB
import { Inject, Injectable } from '@angular/core'; import { CookieService } from './cookie.service'; import { NgxRequest, NgxResponse } from './tokens'; import * as i0 from "@angular/core"; import * as i1 from "./cookie-options-provider"; export class CookieBackendService extends CookieService { constructor(request, response, _optionsProvider) { super(_optionsProvider); this.request = request; this.response = response; } get cookieString() { return this.request.cookie || this.request.headers['cookie'] || ''; } set cookieString(val) { this.request.cookie = val; this.request.headers.cookie = val; } overrideput(key, value, options = {}) { let findKey = false; let newCookie = Object.keys(this.getAll()) // tslint:disable-next-line: no-shadowed-variable .map((keyItem) => { if (keyItem === key) { findKey = true; return `${key}=${value}`; } return `${keyItem}=${this.get(keyItem)}`; }) .join('; '); if (!findKey) { newCookie += `; ${key}=${value}`; } this.cookieString = newCookie; this.response.cookie(key, value); } remove(key, options) { const newCookie = Object.keys(this.getAll()) // tslint:disable-next-line: no-shadowed-variable .map((keyItem) => { if (keyItem === key) { return ''; } return `${keyItem}=${this.get(keyItem)}`; }) .join('; '); this.cookieString = newCookie; this.response.clearCookie(key); } } CookieBackendService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CookieBackendService, deps: [{ token: NgxRequest }, { token: NgxResponse }, { token: i1.CookieOptionsProvider }], target: i0.ɵɵFactoryTarget.Injectable }); CookieBackendService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CookieBackendService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CookieBackendService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Inject, args: [NgxRequest] }] }, { type: undefined, decorators: [{ type: Inject, args: [NgxResponse] }] }, { type: i1.CookieOptionsProvider }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhY2tlbmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zcmMvY29va2llL2Nvb2tpZS1iYWNrZW5kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHbkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFDckQsWUFDOEIsT0FBWSxFQUNYLFFBQWEsRUFDMUMsZ0JBQXVDO1FBRXZDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSkksWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUNYLGFBQVEsR0FBUixRQUFRLENBQUs7SUFJNUMsQ0FBQztJQUVELElBQXVCLFlBQVk7UUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVELElBQXVCLFlBQVksQ0FBQyxHQUFXO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxVQUF5QixFQUFFO1FBQ2pFLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxpREFBaUQ7YUFDaEQsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZixJQUFJLE9BQU8sS0FBSyxHQUFHLEVBQUU7Z0JBQ25CLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsT0FBTyxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQzthQUMxQjtZQUNELE9BQU8sR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixTQUFTLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVRLE1BQU0sQ0FBQyxHQUFXLEVBQUUsT0FBdUI7UUFDbEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUMsaURBQWlEO2FBQ2hELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2YsSUFBSSxPQUFPLEtBQUssR0FBRyxFQUFFO2dCQUNuQixPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7aUhBbERVLG9CQUFvQixrQkFFckIsVUFBVSxhQUNWLFdBQVc7cUhBSFYsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi9jb29raWUuc2VydmljZSc7XG5pbXBvcnQgeyBDb29raWVPcHRpb25zUHJvdmlkZXIgfSBmcm9tICcuL2Nvb2tpZS1vcHRpb25zLXByb3ZpZGVyJztcbmltcG9ydCB7IENvb2tpZU9wdGlvbnMgfSBmcm9tICcuL2Nvb2tpZS1vcHRpb25zLm1vZGVsJztcbmltcG9ydCB7IE5neFJlcXVlc3QsIE5neFJlc3BvbnNlIH0gZnJvbSAnLi90b2tlbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29va2llQmFja2VuZFNlcnZpY2UgZXh0ZW5kcyBDb29raWVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOZ3hSZXF1ZXN0KSBwcml2YXRlIHJlcXVlc3Q6IGFueSxcbiAgICBASW5qZWN0KE5neFJlc3BvbnNlKSBwcml2YXRlIHJlc3BvbnNlOiBhbnksXG4gICAgX29wdGlvbnNQcm92aWRlcjogQ29va2llT3B0aW9uc1Byb3ZpZGVyLFxuICApIHtcbiAgICBzdXBlcihfb3B0aW9uc1Byb3ZpZGVyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXQgY29va2llU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdC5jb29raWUgfHwgdGhpcy5yZXF1ZXN0LmhlYWRlcnNbJ2Nvb2tpZSddIHx8ICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldCBjb29raWVTdHJpbmcodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlcXVlc3QuY29va2llID0gdmFsO1xuICAgIHRoaXMucmVxdWVzdC5oZWFkZXJzLmNvb2tpZSA9IHZhbDtcbiAgfVxuXG4gIG92ZXJyaWRlcHV0KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBvcHRpb25zOiBDb29raWVPcHRpb25zID0ge30pOiB2b2lkIHtcbiAgICBsZXQgZmluZEtleSA9IGZhbHNlO1xuICAgIGxldCBuZXdDb29raWUgPSBPYmplY3Qua2V5cyh0aGlzLmdldEFsbCgpKVxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgLm1hcCgoa2V5SXRlbSkgPT4ge1xuICAgICAgICBpZiAoa2V5SXRlbSA9PT0ga2V5KSB7XG4gICAgICAgICAgZmluZEtleSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIGAke2tleX09JHt2YWx1ZX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtrZXlJdGVtfT0ke3RoaXMuZ2V0KGtleUl0ZW0pfWA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJzsgJyk7XG4gICAgaWYgKCFmaW5kS2V5KSB7XG4gICAgICBuZXdDb29raWUgKz0gYDsgJHtrZXl9PSR7dmFsdWV9YDtcbiAgICB9XG4gICAgdGhpcy5jb29raWVTdHJpbmcgPSBuZXdDb29raWU7XG4gICAgdGhpcy5yZXNwb25zZS5jb29raWUoa2V5LCB2YWx1ZSk7XG4gIH1cblxuICBvdmVycmlkZSByZW1vdmUoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBDb29raWVPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgbmV3Q29va2llID0gT2JqZWN0LmtleXModGhpcy5nZXRBbGwoKSlcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tc2hhZG93ZWQtdmFyaWFibGVcbiAgICAgIC5tYXAoKGtleUl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGtleUl0ZW0gPT09IGtleSkge1xuICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7a2V5SXRlbX09JHt0aGlzLmdldChrZXlJdGVtKX1gO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCc7ICcpO1xuXG4gICAgdGhpcy5jb29raWVTdHJpbmcgPSBuZXdDb29raWU7XG4gICAgdGhpcy5yZXNwb25zZS5jbGVhckNvb2tpZShrZXkpO1xuICB9XG59XG4iXX0=