UNPKG

@luminati-io/mountebank

Version:

Over the wire test doubles

65 lines (54 loc) 1.82 kB
'use strict'; const helpers = require('../util/helpers'); /** * The controller that exposes the mountebank configuration for the running process * @module */ /** * Creates the config controller * @param {string} version - The version of the currently running process * @param {Object} options - The command line options used to start mb * @returns {Object} */ function create (version, options) { const publicOptions = helpers.clone(options); delete publicOptions.version; if (!publicOptions.mock) { delete publicOptions.mock; // deprecated } // On some OS's, it duplicates camelCase as hypen-case (e.g. noParse and no-parse) // I assume this was a change in yargs at some point for (var prop in publicOptions) { if (prop.indexOf('-') > 0) { delete publicOptions[prop]; } } /** * The method that responds to GET /config * @memberOf module:controllers/configController# * @param {Object} request - The HTTP request * @param {Object} response - The HTTP response */ function get (request, response) { const config = { version, options: publicOptions, process: { nodeVersion: process.version, architecture: process.arch, platform: process.platform, rss: process.memoryUsage().rss, heapTotal: process.memoryUsage().heapTotal, heapUsed: process.memoryUsage().heapUsed, uptime: process.uptime(), cwd: process.cwd() } }; response.format({ json: () => response.send(config), html: () => response.render('config', config) }); } return { get }; } module.exports = { create };