UNPKG

swagger-node-codegen

Version:

An OpenAPI 3.x/Swagger 2 code generator for Node.js

41 lines (33 loc) 1.1 kB
const express = require('express'); const cookieParser = require('cookie-parser'); const bodyParser = require('body-parser'); const config = require('../lib/config'); const logger = require('../lib/logger'); const log = logger(config.logger); const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); /* * Routes */ {{#each @root.swagger.endpoints}} {{#endsWith @root.swagger.basePath '/'}} app.use('{{@root.swagger.basePath}}{{..}}', require('./routes/{{..}}')); {{else}} app.use('{{@root.swagger.basePath}}/{{..}}', require('./routes/{{..}}')); {{/endsWith}} {{/each}} // catch 404 app.use((req, res, next) => { log.error(`Error 404 on ${req.url}.`); res.status(404).send({ status: 404, error: 'Not found' }); }); // catch errors app.use((err, req, res, next) => { const status = err.status || 500; const msg = err.error || err.message; log.error(`Error ${status} (${msg}) on ${req.method} ${req.url} with payload ${req.body}.`); res.status(status).send({ status, error: msg }); }); module.exports = app;