25 lines
755 B
JavaScript
25 lines
755 B
JavaScript
import express from 'express';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
const appAssetsHandler = async (app) => {
|
|
app.use('/apps/:appKey/assets/favicon.svg', (req, res, next) => {
|
|
const { appKey } = req.params;
|
|
const svgPath = `${__dirname}/../apps/${appKey}/assets/favicon.svg`;
|
|
const staticFileHandlerOptions = {
|
|
/**
|
|
* Disabling fallthrough is important to respond with HTTP 404.
|
|
* Otherwise, web app might be served.
|
|
*/
|
|
fallthrough: false,
|
|
};
|
|
const staticFileHandler = express.static(svgPath, staticFileHandlerOptions);
|
|
|
|
return staticFileHandler(req, res, next);
|
|
});
|
|
};
|
|
|
|
export default appAssetsHandler;
|