UNPKG

sgapps-server

Version:
90 lines (81 loc) 2.32 kB
const ePrototype = require("application-prototype/constructors/extensions/prototype"); const Cookies = require('./../../../resources/thirdparty/cookies'); /** * @class * @name SGAppsServerRequestCookie */ /** * @memberof SGAppsServerRequestCookie# * @method get * @param {string} name * @param {object} [options] * @param {boolean} [options.secure=false] * @returns {string} */ /** * @memberof SGAppsServerRequestCookie# * @method set * @param {string} name * @param {string} value * @param {object} [options] * @param {boolean} [options.secure=false] * @param {boolean} [options.secureProxy] * @param {boolean} [options.signed] * @param {string} [options.path="/"] * @param {Date} [options.expires] * @param {string} [options.domain] * @param {boolean} [options.httpOnly=true] * @param {boolean} [options.sameSite=false] * @param {boolean} [options.secure=false] * @param {boolean} [options.overwrite=false] * @param {boolean} [skipErrors=false] * @returns {string} */ ; /** * @private * @method RequestCookieDecorator * @param {SGAppsServerRequest} request * @param {SGAppsServerResponse} response * @param {SGAppsServer} server * @param {function} callback */ module.exports = function RequestCookieDecorator(request, response, server, callback) { if (request === null || response === null) { /** * @memberof SGAppsServer# * @var {object} CookiesManager * @property {string} COOKIES_KEY * @property {boolean} [_enabled=true] if is changed to false server will not decorate requests with cookie manager * @property {function (SGAppsServerRequest,SGAppsServerResponse):object} handle */ server.CookiesManager = { COOKIES_KEY: 'your secret key', _enabled: true, handle: (request, response) => { return new Cookies(request.request, response.response, { keys: [server.CookiesManager.COOKIES_KEY] }); } }; callback(); return; } if (!server.CookiesManager._enabled) { callback(); return; } /** * @memberof SGAppsServerRequest# * @name cookies * @type {SGAppsServerRequestCookie} */; //@ts-ignore request.cookies = new Cookies(request.request, response.response, { keys: [server.CookiesManager.COOKIES_KEY] }); // response._destroy.push(() => { // delete request.cookies; // }); callback(); };