diff options
author | EuAndreh <eu@euandre.org> | 2024-03-16 08:14:27 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-03-16 08:14:27 -0300 |
commit | 2dfed1b7fbf19e5e874340340f764a90252b5537 (patch) | |
tree | 2695e700321093848f6824c00b6c6d1beeb8d691 /src/hero.mjs | |
parent | src/hero.mjs: use empty object as default value for renderHeaders() (diff) | |
download | papod-2dfed1b7fbf19e5e874340340f764a90252b5537.tar.gz papod-2dfed1b7fbf19e5e874340340f764a90252b5537.tar.xz |
src/hero.mjs: Add makeUpgradeListener() (again, now rewritten)
Diffstat (limited to 'src/hero.mjs')
-rw-r--r-- | src/hero.mjs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/hero.mjs b/src/hero.mjs index 314360c..2168ff7 100644 --- a/src/hero.mjs +++ b/src/hero.mjs @@ -445,6 +445,19 @@ export const makeRequestListener = table => async (req, res) => { res.end(body); }; +export const makeUpgradeListener = table => async (req, socket, _head) => { + assert.ok(req.upgrade); + const { status, headers, body } = await handleRequest(table, { + ...req, + socket, + }); + writeHead(socket, status, headers); + socket.write(body); + if (status !== 101) { + socket.end(); + } +}; + export const actionsFn = ({ logger = log, } = {}) => ({ |