@dooor-ai/trust
Version:
TEE Attestation and Confidential Computing utilities for Dooor OS
48 lines • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.attachToNest = attachToNest;
const express = require("express");
const handler_1 = require("../core/handler");
function joinUrl(...parts) {
return '/' + parts
.filter(Boolean)
.map(p => String(p).replace(/^\/+|\/+$/g, ''))
.filter(Boolean)
.join('/');
}
function attachToNest(app, opts) {
const adapterType = app.getHttpAdapter().getType();
const prefix = opts?.prefix ?? '/__attestation';
if (adapterType === 'express') {
const expressApp = app.getHttpAdapter().getInstance();
const base = joinUrl(prefix);
const router = express.Router();
const handler = (0, handler_1.createHandler)(opts);
router.get('/tee/health', handler);
router.post('/tee/token', handler);
expressApp.use(base, router);
console.log(`[dooor-trust] adapter=express`);
console.log(`[dooor-trust] Mounted router at ${base}`);
console.log(`[dooor-trust] GET ${joinUrl(base, 'tee/health')}`);
console.log(`[dooor-trust] POST ${joinUrl(base, 'tee/token')}`);
return;
}
if (adapterType === 'fastify') {
const fastifyApp = app.getHttpAdapter().getInstance();
const base = joinUrl(prefix);
fastifyApp.get(joinUrl(base, 'tee/health'), (req, reply) => {
const handler = (0, handler_1.createHandler)(opts);
handler(req.raw, reply.raw);
});
fastifyApp.post(joinUrl(base, 'tee/token'), (req, reply) => {
const handler = (0, handler_1.createHandler)(opts);
handler(req.raw, reply.raw);
});
console.log(`[dooor-trust] adapter=fastify`);
console.log(`[dooor-trust] GET ${joinUrl(base, 'tee/health')}`);
console.log(`[dooor-trust] POST ${joinUrl(base, 'tee/token')}`);
return;
}
throw new Error(`Unsupported Nest adapter: ${adapterType}`);
}
//# sourceMappingURL=index.js.map