2016-05-11 11:53:28 +00:00
|
|
|
// Copyright IBM Corp. 2016. All Rights Reserved.
|
|
|
|
// Node module: strong-error-handler
|
|
|
|
// This file is licensed under the MIT License.
|
|
|
|
// License text available at https://opensource.org/licenses/MIT
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
2019-10-11 13:57:15 +00:00
|
|
|
const safeStringify = require('fast-safe-stringify');
|
2019-09-03 21:24:40 +00:00
|
|
|
|
2020-05-20 21:33:11 +00:00
|
|
|
module.exports = function sendJson(res, data, options) {
|
|
|
|
options = options || {};
|
|
|
|
// Set `options.rootProperty` to not wrap the data into an `error` object
|
|
|
|
const err = options.rootProperty === false ? data : {
|
|
|
|
// Use `options.rootProperty`, if not set, default to `error`
|
|
|
|
[options.rootProperty || 'error']: data,
|
|
|
|
};
|
|
|
|
const content = safeStringify(err);
|
2016-05-11 11:53:28 +00:00
|
|
|
res.setHeader('Content-Type', 'application/json; charset=utf-8');
|
|
|
|
res.end(content, 'utf-8');
|
|
|
|
};
|