UNPKG

1.44 kBJavaScriptView Raw
1// src/response.ts
2const { byteLength:b } = require('worktop/utils');
3
4// src/internal/constants.ts
5var s = "content-type", i = "content-length";
6
7// src/response.ts
8function h(u) {
9 var e = this, r = e.headers = new Headers({
10 "Cache-Control": "private, no-cache"
11 });
12 return e.body = "", e.finished = !1, e.status = e.statusCode = 200, e.getHeaders = () => Object.fromEntries(r), e.getHeaderNames = () => [...r.keys()], e.hasHeader = r.has.bind(r), e.getHeader = r.get.bind(r), e.removeHeader = r.delete.bind(r), e.setHeader = r.set.bind(r), Object.defineProperty(e, "status", {
13 set: (n) => {
14 e.statusCode = n;
15 },
16 get: () => e.statusCode
17 }), e.end = (n) => {
18 e.finished || (e.finished = !0, e.body = n);
19 }, e.writeHead = (n, t) => {
20 e.statusCode = n;
21 for (let d in t)
22 r.set(d, t[d]);
23 }, e.send = (n, t, d) => {
24 let a = typeof t, o = {};
25 for (let p in d)
26 o[p.toLowerCase()] = d[p];
27 let f = o[i] || e.getHeader(i), l = o[s] || e.getHeader(s);
28 t == null ? t = "" : a === "object" ? (t = JSON.stringify(t), l = l || "application/json;charset=utf-8") : a !== "string" && (t = String(t)), o[s] = l || "text/plain", o[i] = f || String(t.byteLength || b(t)), n === 204 || n === 205 || n === 304 ? (e.removeHeader(i), e.removeHeader(s), delete o[i], delete o[s], t = null) : u === "HEAD" && (t = null), e.writeHead(n, o), e.end(t);
29 }, e;
30}
31
32
33exports.ServerResponse = h;
\No newline at end of file