UNPKG

laas-admin-api

Version:

LaaS admin api server.

36 lines (32 loc) 1.24 kB
(function () { 'use strict'; var config = require('./config'); var MC = require('master-cluster'); var app = require('express')(); var responseTime = require('response-time'); var basic = require('./middleware/basic-auth'); var logger = require('./lib/logger')('laas-admin-api'); var docs = require('./lib/docs'); var osprey = require('osprey'); var parser = require('raml-parser'); var definitionPath = __dirname + '/api.raml'; app.disable('x-powered-by'); app.use(logger.middleware()); app.use(responseTime({ header: 'x-response-time' })); if (config.ldap.enabled) app.use(basic()); parser.loadFile(definitionPath).then(function (raml) { docs.create(raml, function (err, html) { app.get('/docs', docs.serve(html)); var api = osprey.createServer(raml); api.use(require('./middleware/onerror')()); app.use(api); app.get('/heartbeat', require('@atlassian/heartbeat').http); app.use('/services', require('./routes/services')); MC.createHttpServer(app, config.port); console.log('Server listening on %d', config.port); }); }, function (err) { console.error({ err: err }, 'Error parsing: %s', definitionPath); process.exit(1); }); })();