diff options
author | EuAndreh <eu@euandre.org> | 2024-03-08 07:44:37 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-03-08 07:44:37 -0300 |
commit | bc3b0b2aa1ce886887d20fc1bd5309530915137a (patch) | |
tree | 96b7ec05e547ea2fe1167a5799fd3390fecd3d38 /src/hero.mjs | |
parent | src/hero.mjs: Add buildTable() (diff) | |
download | papod-bc3b0b2aa1ce886887d20fc1bd5309530915137a.tar.gz papod-bc3b0b2aa1ce886887d20fc1bd5309530915137a.tar.xz |
src/hero.mjs: Make sure globalInceptors are used even when we get a 404
Diffstat (limited to 'src/hero.mjs')
-rw-r--r-- | src/hero.mjs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/hero.mjs b/src/hero.mjs index a51d5c0..2355bbf 100644 --- a/src/hero.mjs +++ b/src/hero.mjs @@ -119,15 +119,22 @@ export const extractQueryParams = s => { return ret; }; +export const handle404 = _req => ({ + status: 404, + body: "Not Found\n", +}); + +export const make404Handler = interceptors => ({ + params: {}, + handlerFn: wrapHandler(handle404, interceptors), +}); + export const handleRequest = async (table, method, url) => { const [ path, queryParams ] = url.split("?"); - const handler = findHandler(table, method, path); - if (!handler) { - return { - status: 404, - body: "Not Found\n", - }; - } + const handler = ( + findHandler(table, method, path) || + make404Handler(table.interceptors) + ); const request = { params: { |