Blame view
lib/apiserver/index.js
1.29 KB
cd4feda87
|
1 2 3 4 |
const MODULE_NAME = 'APISERVER'; const express = require('express'); const config = require('komodo-sdk/config'); |
810fa18da
|
5 |
const logger = require('tektrans-logger'); |
cd4feda87
|
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
const validApikey = require('./valid-apikey'); const middlewareCommon = require('../middlewares/common'); const routerMatrix = require('./routers/matrix'); const app = express(); app.use((req, res, next) => { res.locals.httpgetx_subsystem = MODULE_NAME; next(); }); const apikeyChecker = (req, res, next) => { if (validApikey(req.params.apikey)) { next(); } else { res.status(403).end('Invalid APIKEY'); } }; app.use(middlewareCommon); app.use('/apikey/:apikey', apikeyChecker); app.use('/apikey/:apikey/matrix', routerMatrix); app.use((req, res) => { const { xid } = res.locals; res.status(404).end(`KOMODO-HTTP-GET-X CENTER (APISERVER). 404: Method not found. XID: ${xid}. `); }); const listenPort = config.listener && config.listener.apiserver && config.listener.apiserver.port; if ( listenPort && config.listener && config.listener.apiserver && config.listener.apiserver.apikey ) { app.listen(listenPort, () => { logger.info(`${MODULE_NAME} FAEE1E47: Listening`, { port: listenPort }); }); } else { logger.info(`${MODULE_NAME}: Disabled because of missing configuration`); } |