diff options
author | EuAndreh <eu@euandre.org> | 2024-03-16 05:42:41 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-03-16 05:42:47 -0300 |
commit | 4a584566035d18402f2bc65bf2c7e433ecbd595c (patch) | |
tree | bd9a6ab56d6f721de5e417b969eac955a45c4002 /src/hero.mjs | |
parent | src/hero.mjs: interceptors.contentType(): Generate body from status when missing (diff) | |
download | papod-4a584566035d18402f2bc65bf2c7e433ecbd595c.tar.gz papod-4a584566035d18402f2bc65bf2c7e433ecbd595c.tar.xz |
src/hero.mjs: Add "upgrade" and "socket" keys to `req`
Also log on "in-request" the value of "upgrade".
Diffstat (limited to 'src/hero.mjs')
-rw-r--r-- | src/hero.mjs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/hero.mjs b/src/hero.mjs index b378887..859d86f 100644 --- a/src/hero.mjs +++ b/src/hero.mjs @@ -44,11 +44,12 @@ export const interceptorsFn = ({ } = {}) => ({ requestId: (req, next) => next({ ...req, id: uuidFn() }), logged: async (req, next) => { - const { id, url, method } = req; + const { id, url, method, upgrade } = req; logger.info({ id, url, method, + upgrade, type: "in-request", }); const beforeDate = new Date(); @@ -271,7 +272,7 @@ export const make404Handler = interceptors => ({ }); export const handleRequest = async (table, reqHandle) => { - const { method, url, headers } = reqHandle; + const { method, url, headers, upgrade, socket } = reqHandle; const [ path, queryParams ] = url.split("?"); const { params, handlerFn } = ( findHandler(table, method, path) || @@ -286,6 +287,8 @@ export const handleRequest = async (table, reqHandle) => { method, path, headers, + upgrade, + socket, handler: handlerFn, ref: reqHandle, }; @@ -355,7 +358,11 @@ export const makeUpgradeListener = table => async (req, socket, _head) => { }; export const makeRequestListener = table => async (req, res) => { - const { status, headers, body } = await handleRequest(table, req); + const { status, headers, body } = await handleRequest(table, { + ...req, + upgrade: false, + socket: null, + }); res.writeHead(status, headers); res.end(body); }; @@ -532,7 +539,7 @@ export const buildTable = (routes, globalInterceptors = []) => export const promisifyServer = (name, serverHandle, socket, pipe) => { let closePipeFn = null; return { - ref: serverHandle, + ref: serverHandle, start: util.promisify((...args) => { assert.equal(typeof socket, "string"); assert.equal(typeof pipe, "string"); |