From dd962bcb1ebcbff9dd28ada9156786b9a9ed92a6 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 21 Oct 2024 07:10:20 +0300 Subject: vnext: Use actual express app for tests * use `debug` for sequelize logging --- vnext/server/app.js | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 vnext/server/app.js (limited to 'vnext/server/app.js') diff --git a/vnext/server/app.js b/vnext/server/app.js new file mode 100644 index 00000000..b2ba4cf6 --- /dev/null +++ b/vnext/server/app.js @@ -0,0 +1,52 @@ +import express from 'express' +import { raw } from 'body-parser' +import cors from 'cors' +import config from 'config' + +//import serverRenderer from './middleware/renderer' +import event from './middleware/event' +import oembed from './middleware/oembed' +import urlExpand from './middleware/urlexpand' +import releases from './middleware/android' +import { instance } from './middleware/mastodon' + +import path from 'path' +import { webhook, webhookPath } from './durov' +import { webfinger } from './middleware/webfinger' + +// initialize the application and create the routes +export const app = express() +app.use(raw()) +app.use(cors()) +const router = express.Router() + +router.post('/api/v2/sender', event) +router.get('/api/v2/oembed', oembed) +router.get('/api/v2/urlexpand', urlExpand) +router.get('/api/apps/android/releases', releases) + +// WebFinger + +router.get('/.well-known/webfinger', webfinger) + +// Mastodon API + +router.get('/api/v2/instance', instance) + +const durov_webhook = webhookPath() +if (durov_webhook) { + router.post(`/api/v2/${durov_webhook}`, webhook) +} +//router.use('^/$', serverRenderer) + +const STATIC_ROOT = config.get('service.static_root') || path.resolve(__dirname, 'public') + +// other static resources should just be served as they are +router.use(express.static( + STATIC_ROOT, + { maxAge: '30d' }, +)) + +//router.use('*', serverRenderer) + +app.use(router) -- cgit v1.2.3