@gorniv/ngx-universal
Version:
Packages for Angular Universal
62 lines • 7.62 kB
JavaScript
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=