import express, {Express, Request, Response} from 'express'; import {getMediaObject, pipeMedia} from "../controller/media"; const app: Express = express(); /** Logs something with a cdn prefix */ const log = (msg: string) => console.log(`[ContentDelivery] ${msg}`); app.get("*.*", async (req: Request, res: Response) => { const asset = (req.originalUrl.substring(1) || "default.txt").split("."); const found = await getMediaObject(asset[0]); if (!found) return res.status(404).send("

Asset not found

"); if (found.assetEnding !== asset[1]) return res.status(404).send("

Asset not found

"); await pipeMedia(found.assetId, res); }); /** Starts the cdn service */ export const startServer = (port: number = 8673) => app.listen(port, () => log(`Listening on port ${port}`));