summaryrefslogtreecommitdiff
path: root/src/hero.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/hero.mjs')
-rw-r--r--src/hero.mjs15
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");