UNPKG

@backstage/backend-defaults

Version:

Backend defaults used by Backstage backend apps

76 lines (70 loc) 2.94 kB
'use strict'; var Router = require('express-promise-router'); var backendPluginApi = require('@backstage/backend-plugin-api'); var createAuthIntegrationRouter = require('./http/createAuthIntegrationRouter.cjs.js'); var createCredentialsBarrier = require('./http/createCredentialsBarrier.cjs.js'); var createLifecycleMiddleware = require('./http/createLifecycleMiddleware.cjs.js'); var createCookieAuthRefreshMiddleware = require('./http/createCookieAuthRefreshMiddleware.cjs.js'); require('express'); require('lodash/trimEnd'); require('http'); require('https'); require('fs-extra'); require('path'); require('node-forge'); var MiddlewareFactory = require('../rootHttpRouter/http/MiddlewareFactory.cjs.js'); require('minimatch'); require('helmet'); require('lodash/kebabCase'); require('../rootHttpRouter/rootHttpRouterServiceFactory.cjs.js'); var createRateLimitMiddleware = require('./http/createRateLimitMiddleware.cjs.js'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var Router__default = /*#__PURE__*/_interopDefaultCompat(Router); const httpRouterServiceFactory = backendPluginApi.createServiceFactory({ service: backendPluginApi.coreServices.httpRouter, initialization: "always", deps: { plugin: backendPluginApi.coreServices.pluginMetadata, config: backendPluginApi.coreServices.rootConfig, lifecycle: backendPluginApi.coreServices.lifecycle, rootHttpRouter: backendPluginApi.coreServices.rootHttpRouter, auth: backendPluginApi.coreServices.auth, httpAuth: backendPluginApi.coreServices.httpAuth, logger: backendPluginApi.coreServices.logger }, async factory({ auth, httpAuth, config, plugin, rootHttpRouter, lifecycle, logger }) { const router = Router__default.default(); router.use(createRateLimitMiddleware.createRateLimitMiddleware({ pluginId: plugin.getId(), config })); rootHttpRouter.use(`/api/${plugin.getId()}`, router); const credentialsBarrier = createCredentialsBarrier.createCredentialsBarrier({ httpAuth, config }); router.use(createAuthIntegrationRouter.createAuthIntegrationRouter({ auth })); router.use(createLifecycleMiddleware.createLifecycleMiddleware({ config, lifecycle })); router.use(credentialsBarrier.middleware); router.use(createCookieAuthRefreshMiddleware.createCookieAuthRefreshMiddleware({ auth, httpAuth })); const pluginRoutes = Router__default.default(); router.use(pluginRoutes); const middleware = MiddlewareFactory.MiddlewareFactory.create({ config, logger }); router.use(middleware.error()); return { use(handler) { pluginRoutes.use(handler); }, addAuthPolicy(policy) { credentialsBarrier.addAuthPolicy(policy); } }; } }); exports.httpRouterServiceFactory = httpRouterServiceFactory; //# sourceMappingURL=httpRouterServiceFactory.cjs.js.map