"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readJsonBody = exports.sendJson = void 0; function sendJson(res, statusCode, payload) { const body = JSON.stringify(payload); res.writeHead(statusCode, { "Content-Type": "application/json; charset=utf-8", "Cache-Control": "no-store", "Content-Length": Buffer.byteLength(body), }); res.end(body); } exports.sendJson = sendJson; async function readJsonBody(req, limitBytes = 10 * 1024 * 1024) { const chunks = []; let size = 0; for await (const chunk of req) { const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); size += buffer.length; if (size > limitBytes) { throw new Error("Request body too large"); } chunks.push(buffer); } const raw = Buffer.concat(chunks).toString("utf8").trim(); if (raw.length === 0) { return {}; } return JSON.parse(raw); } exports.readJsonBody = readJsonBody;