From 4abaac6c5df21a68d1ace7bcaee1e016a9edd90f Mon Sep 17 00:00:00 2001 From: Li Zhineng Date: Wed, 2 Jul 2025 20:35:37 +0800 Subject: subprocedure by path name --- server.mjs | 14 ++++++++++++++ server.test.mjs | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/server.mjs b/server.mjs index 844430e..18c6ee6 100644 --- a/server.mjs +++ b/server.mjs @@ -30,6 +30,20 @@ const getTimeControlller = (req, res) => { const eagleController = (req, res) => { const [, query] = req.url.split('?') const params = new URLSearchParams(query) + + switch (params.get('path')) { + case 'eagle/GET/genId': + eagleGenIdController(req, res) + break + default: + notFoundController(req, res) + break + } +} + +const eagleGenIdController = (req, res) => { + const [, query] = req.url.split('?') + const params = new URLSearchParams(query) const { mac, key } = JSON.parse(params.get('params') || '{}') if (mac === undefined || key === undefined) { diff --git a/server.test.mjs b/server.test.mjs index 259b913..1e44083 100644 --- a/server.test.mjs +++ b/server.test.mjs @@ -136,6 +136,12 @@ test('device registration endpoint returns bad request if missing encryption key assert.strictEqual(res.headers.get('content-type'), 'application/json') }) +test('device registration endpoint returns not found if path is not supported', async () => { + const params = new URLSearchParams({ path: 'eagle/GET/foo' }) + const res = await fetch(`${baseUrl}/eagle?${params.toString()}`) + assert.strictEqual(res.status, 404) +}) + test('exchange endpoint', async () => { const stubMacAddress = '0000000000' const stubKey = '00000000000000000000000000000000' -- cgit v1.2.3