From e3aed99605b474b06375a61b0a185db2af034fa1 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 4 Nov 2024 17:17:41 -0600 Subject: [PATCH] Let users host arbitrary .well-known paths --- src/app.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/app.ts b/src/app.ts index fdcacf29..cc508443 100644 --- a/src/app.ts +++ b/src/app.ts @@ -169,6 +169,11 @@ const app = new Hono({ strict: false }); const debug = Debug('ditto:http'); +/** User-provided files in the gitignored `public/` directory. */ +const publicFiles = serveStatic({ root: './public/' }); +/** Static files provided by the Ditto repo, checked into git. */ +const staticFiles = serveStatic({ root: './static/' }); + app.use('*', rateLimitMiddleware(300, Time.minutes(5))); app.use('/api/*', metricsMiddleware, paginationMiddleware, logger(debug)); @@ -362,13 +367,10 @@ app.get('/api/v1/conversations', emptyArrayController); app.get('/api/v1/lists', emptyArrayController); app.use('/api/*', notImplementedController); -app.use('/.well-known/*', notImplementedController); +app.use('/.well-known/*', publicFiles, notImplementedController); app.use('/nodeinfo/*', notImplementedController); app.use('/oauth/*', notImplementedController); -const publicFiles = serveStatic({ root: './public/' }); -const staticFiles = serveStatic({ root: './static/' }); - // Known frontend routes app.get('/:acct{@.*}', frontendController); app.get('/:acct{@.*}/*', frontendController);