Files
portfolio2023/node_modules/@adonisjs/session/build/src/Bindings/Server.js
T
2023-11-24 22:35:41 +01:00

43 lines
1.1 KiB
JavaScript

"use strict";
/*
* @adonisjs/session
*
* (c) AdonisJS
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.defineServerBindings = void 0;
/**
* Share "session" with the HTTP context. Define hooks to initiate and
* commit session when sessions are enabled.
*/
function defineServerBindings(HttpContext, Server, Session) {
/**
* Sharing session with the context
*/
HttpContext.getter('session', function session() {
return Session.create(this);
}, true);
/**
* Do not register hooks when sessions are disabled
*/
if (!Session.isEnabled()) {
return;
}
/**
* Initiate session store
*/
Server.hooks.before(async (ctx) => {
await ctx.session.initiate(false);
});
/**
* Commit store mutations
*/
Server.hooks.after(async (ctx) => {
await ctx.session.commit();
});
}
exports.defineServerBindings = defineServerBindings;