UNPKG

html-reporter

Version:

Html-reporter and GUI for viewing and managing results of a tests run. Currently supports Testplane and Hermione.

43 lines 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initPluginsRoutes = void 0; const express_1 = require("express"); const http_codes_1 = require("http-codes"); const server_utils_1 = require("../../server-utils"); const initPluginsRoutes = (router, pluginConfig) => { if (!pluginConfig.pluginsEnabled) { return router; } router.get(`/plugins/:pluginName/plugin.js`, (req, res) => { if ((0, server_utils_1.isUnexpectedPlugin)(pluginConfig.plugins, req.params.pluginName)) { res.status(http_codes_1.BAD_REQUEST).send({ error: `Unexpected plugin "${req.params.pluginName}" requested.` }); return; } const pluginClientScriptPath = (0, server_utils_1.getPluginClientScriptPath)(req.params.pluginName); if (!pluginClientScriptPath) { res.status(http_codes_1.INTERNAL_SERVER_ERROR).send('Plugin client script not found.'); return; } res.sendFile(pluginClientScriptPath); }); (0, server_utils_1.forEachPlugin)(pluginConfig.plugins, pluginName => { const initPluginMiddleware = (0, server_utils_1.getPluginMiddleware)(pluginName); if (!initPluginMiddleware) { return; } try { const pluginRouter = (0, express_1.Router)(); initPluginMiddleware(pluginRouter); router.use(`/plugin-routes/${pluginName}`, pluginRouter); } catch (err) { (0, server_utils_1.logError)(err); } }); router.use('/plugin-routes/:pluginName', (req, res) => { res.status(http_codes_1.BAD_REQUEST).send({ error: `No middleware is registered for "${req.params.pluginName}".` }); }); return router; }; exports.initPluginsRoutes = initPluginsRoutes; //# sourceMappingURL=plugins.js.map