UNPKG

we-core

Version:

We.js is a node.js framework for build real time applications, sites or blogs!

42 lines (34 loc) 1.02 kB
const mime = require('mime'); /** * Parse response type middleware * * @param {Object} req express.js request * @param {Object} res express.js response * @param {Function} next callback */ module.exports = function responseType (req, res, next){ if (!req.headers) req.headers = {}; parseResponseType(req); next(); }; /** * Parse the response type * * with order: 1. extension, 2.responseType, 3.Accept header * * @param {Object} req express.js request * @return {String} the response type string */ function parseResponseType (req) { if (req.query && req.query.responseType) { if (req.query.responseType == 'modal') { // suport for old we.js contentOnly api req.query.responseType = req.we.config.defaultResponseType; req.query.contentOnly = true; } req.headers.accept = mime.getType(req.query.responseType.toLowerCase()); } if (req.accepts(req.we.config.responseTypes)) return; req.headers.accept = req.we.config.defaultResponseType; }