diff options
author | EuAndreh <eu@euandre.org> | 2024-03-16 06:55:20 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-03-16 06:55:20 -0300 |
commit | afe9d6f77ea2386732e6d7646c298584321d44cf (patch) | |
tree | dbb80c84f3158c7b6591057e16525c2fa6a5678f /src | |
parent | src/hero.mjs: Remove current makeUpgradeListener() and its helpers (diff) | |
download | papod-afe9d6f77ea2386732e6d7646c298584321d44cf.tar.gz papod-afe9d6f77ea2386732e6d7646c298584321d44cf.tar.xz |
src/hero.mjs: Add writeHead() and its helper functions
Diffstat (limited to 'src')
-rw-r--r-- | src/hero.mjs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/hero.mjs b/src/hero.mjs index b47d459..75c9a88 100644 --- a/src/hero.mjs +++ b/src/hero.mjs @@ -380,6 +380,23 @@ export const extractQueryParams = s => { return ret; }; +export const renderStatus = code => + `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}` + +export const renderHeaders = obj => + Object.keys(obj) + .sort(u.strSortFn) + .map(name => `${name}: ${obj[name]}`); + +export const buildHeader = (status, headers) => + [renderStatus(status)] + .concat(renderHeaders(headers)) + .concat(["\r\n"]) + .join("\r\n"); + +export const writeHead = (socket, status, headers) => + socket.write(buildHeader(status, headers)); + export const handle404 = _req => ({ status: 404, body: "Not Found\n", |