'use strict'; const { Router } = require('express'); // export module version require('pkginfo')(module, 'version'); const version = module.exports.version; const adminApi = require('./admin-api'); const clientApi = require('./client-api'); const clientFeatures = require('./client-api/feature.js'); const health = require('./health-check'); const backstage = require('./backstage.js'); exports.router = function(config) { const router = Router(); router.use('/health', health.router(config)); router.use('/internal-backstage', backstage.router(config)); router.get('/api', (req, res) => { res.json({ name: 'unleash-server', version, links: { admin: { uri: '/api/admin', links: adminApi.apiDef.links, }, client: { uri: '/api/client', links: clientApi.apiDef.links, }, }, }); }); router.use('/api/admin', adminApi.router(config)); router.use('/api/client', clientApi.router(config)); // legacy support // $root/features // $root/client/register // $root/client/metrics if (config.enableLegacyRoutes) { router.use('/api/features', clientFeatures.router(config)); } return router; };