@axway/api-builder-runtime
Version:
API Builder Runtime
26 lines (23 loc) • 618 B
JavaScript
/**
* Formats the body using YAML.
* @param req
* @param resp
* @param body
* @param singular
* @param plural
* @param callback
*/
exports.format = function yamlFormatter(req, resp, body, singular, plural, callback) {
try {
var yaml = require('js-yaml');
body = body[plural] || body[singular] || body;
body = JSON.parse(JSON.stringify(body));
body = yaml.safeDump(body, { skipInvalid: true });
resp && resp.set('Content-Type', 'text/yaml');
} catch (e) {
return callback(e);
}
callback(null, body.toString());
};
exports.extensions = [ 'yml', 'yaml' ];
exports.defaultMimeType = 'text/yaml';