From d7063916a58fdcbd0c57643f0db48e83d5fa1876 Mon Sep 17 00:00:00 2001 From: Cadence Ember Date: Sun, 5 Jan 2025 19:02:55 +1300 Subject: [PATCH] During setup, echo any unrecognised requests --- scripts/setup.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/setup.js b/scripts/setup.js index 2782ad8..109c012 100644 --- a/scripts/setup.js +++ b/scripts/setup.js @@ -103,6 +103,13 @@ async function validateHomeserverOrigin(serverUrlPrompt, url) { return true } +function defineEchoHandler() { + return defineEventHandler(event => { + return "Out Of Your Element is listening.\n" + + `Received a ${event.method} request on path ${event.path}\n` + }) +} + ;(async () => { // create registration file with prompts... if (!reg) { @@ -127,7 +134,7 @@ async function validateHomeserverOrigin(serverUrlPrompt, url) { const serverOrigin = await serverOriginPrompt.run() const app = createApp() - app.use(defineEventHandler(() => "Out Of Your Element is listening.\n")) + app.use(defineEchoHandler()) const server = createServer(toNodeListener(app)) await server.listen(6693) @@ -147,7 +154,7 @@ async function validateHomeserverOrigin(serverUrlPrompt, url) { const res = await fetch(url) if (res.status !== 200) return `Server returned status code ${res.status}` const text = await res.text() - if (text !== "Out Of Your Element is listening.\n") return `Server does not point to OOYE` + if (!text.startsWith("Out Of Your Element is listening.")) return `Server does not point to OOYE` return true } catch (e) { return e.message @@ -241,6 +248,7 @@ async function validateHomeserverOrigin(serverUrlPrompt, url) { passthrough.discord = discord const {as} = require("../src/matrix/appservice") + as.router.use("/**", defineEchoHandler()) console.log("⏳ Waiting until homeserver registration works... (Ctrl+C to cancel)") let itWorks = false