UNPKG

@chezearth/swagger-node-runner

Version:
46 lines (35 loc) 997 B
'use strict'; var debug = require('debug')('swagger:cors'); var Url = require('url'); module.exports = function create(fittingDef, bagpipes) { debug('config: %j', fittingDef); return function express_compatibility(context, cb) { debug('exec'); expressCompatibility(context.request, context.response, cb); } }; function expressCompatibility(req, res, next) { if (!req.query || !req.path) { var url = Url.parse(req.url, !req.query); req.path = url.path; req.query = url.query; } if (!res.json) { res.json = function(obj) { res.statusCode = res.statusCode || 200; res.setHeader('Content-Type', 'application/json'); res.end(JSON.stringify(obj)); }; } if (!req.get) req.get = function(name) { return this.headers[name]; }; if (!res.set) { res.set = res.setHeader; } if (!res.get) { res.get = res.getHeader; } if (!res.status) { res.status = function(status) { res.statusCode = status; }; } next(); }