UNPKG

hono-sess

Version:

A Simple Session Middleware for Hono

42 lines 1.39 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Store = void 0; const events_1 = require("events"); const cookie_1 = require("./cookie"); const session_1 = require("./session"); class Store extends events_1.EventEmitter { constructor() { super(); } regenerate(req, callback) { const self = this; this.destroy(req.sessionID, (err) => { self.generate(req); callback(err); }); } load(sid, callback) { const self = this; this.get(sid, (err, session) => { if (err) return callback(err); if (!session) return callback('session not found'); const req = { sessionID: sid, sessionStore: self }; callback(null, this.createSession(req, session)); }); } createSession(req, session) { const expires = session.cookie.expires; const originalMaxAge = session.cookie.originalMaxAge; session.cookie = new cookie_1.Cookie(session.cookie.data); if (typeof expires === 'string') { session.cookie.expires = new Date(expires); } session.cookie.originalMaxAge = originalMaxAge; req.session = new session_1.Session(req, session); return req.session; } } exports.Store = Store; //# sourceMappingURL=store.js.map