@tigthor/kokocrypt
Version:
Enhanced Fortress Edition - Secure, quantum-resistant, high-performance encryption package
34 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.composeExpressEncryption = composeExpressEncryption;
const derive_session_middleware_1 = require("./derive-session.middleware");
const decrypt_middleware_1 = require("./decrypt.middleware");
const replay_guard_1 = require("../core/replay.guard");
function composeExpressEncryption(crypto) {
const derive = new derive_session_middleware_1.DeriveSessionMiddleware(crypto);
const decrypt = new decrypt_middleware_1.DecryptMiddleware(crypto, new replay_guard_1.ReplayGuard());
const wrap = (fn) => {
return (req, res, next) => {
try {
const result = fn(req, res, next);
Promise.resolve(result)
.then(() => undefined)
.catch(next);
}
catch (err) {
next(err);
}
};
};
const deriveHandler = (req, res, next) => {
void derive.use(req, res, next);
};
const decryptHandler = (req, res, next) => {
void decrypt.use(req, res, next);
};
return {
deriveSession: wrap(deriveHandler),
decrypt: wrap(decryptHandler),
};
}
//# sourceMappingURL=express-compose.js.map