summaryrefslogtreecommitdiff
path: root/src/hero.mjs
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-03-16 08:14:27 -0300
committerEuAndreh <eu@euandre.org>2024-03-16 08:14:27 -0300
commit2dfed1b7fbf19e5e874340340f764a90252b5537 (patch)
tree2695e700321093848f6824c00b6c6d1beeb8d691 /src/hero.mjs
parentsrc/hero.mjs: use empty object as default value for renderHeaders() (diff)
downloadpapod-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.mjs13
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,
} = {}) => ({