Files
memind/api-response.mjs
John 2e14873f2d Initial commit: Memind H5 portal with MindSpace, Plaza, and agent jobs.
Track application source and tests; exclude local env, user workspaces, and runtime data via .gitignore.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-15 15:04:43 -07:00

33 lines
888 B
JavaScript

import crypto from 'node:crypto';
export function createRequestId(existing) {
if (typeof existing === 'string' && existing.trim()) return existing.trim();
return `req_${crypto.randomUUID()}`;
}
export function attachRequestId(req, res, next) {
const requestId = createRequestId(req.get('x-request-id'));
req.requestId = requestId;
res.setHeader('X-Request-Id', requestId);
next();
}
export function sendJson(res, req, status, body) {
const requestId = req?.requestId ?? createRequestId();
return res.status(status).json({ ...body, request_id: requestId });
}
export function sendData(res, req, data, status = 200) {
return sendJson(res, req, status, { data });
}
export function sendError(res, req, status, code, message, details) {
return sendJson(res, req, status, {
error: {
code,
message,
...(details ? { details } : {}),
},
});
}