| 12345678910111213141516171819202122232425262728 |
- // Small HTTP helpers shared across the server.
- const now = () => Date.now();
-
- const json = (res, code, body) => {
- res.writeHead(code, { 'Content-Type': 'application/json' });
- res.end(JSON.stringify(body));
- };
-
- function readBody(req) {
- return new Promise((resolve) => {
- let data = '';
- req.on('data', (c) => (data += c));
- req.on('end', () => {
- try { resolve(data ? JSON.parse(data) : {}); } catch { resolve({}); }
- });
- });
- }
-
- function parseCookies(req) {
- const out = {};
- (req.headers.cookie || '').split(';').forEach((c) => {
- const [k, ...v] = c.trim().split('=');
- if (k) out[k] = decodeURIComponent(v.join('='));
- });
- return out;
- }
-
- module.exports = { now, json, readBody, parseCookies };
|