summaryrefslogtreecommitdiff
path: root/src/hero.mjs
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-03-08 07:44:37 -0300
committerEuAndreh <eu@euandre.org>2024-03-08 07:44:37 -0300
commitbc3b0b2aa1ce886887d20fc1bd5309530915137a (patch)
tree96b7ec05e547ea2fe1167a5799fd3390fecd3d38 /src/hero.mjs
parentsrc/hero.mjs: Add buildTable() (diff)
downloadpapod-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.mjs21
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: {