blob: d645d737b069f64790700c60f0dad57c937b6e52 [file]
'use strict';
/**
* This plugin transforms content. Since this transformation (uppercase) is
* trivial, it can do the transformation on a chunk-by-chunk basis or all-at-once.
* For most non-trivial cases, this plugin should be preceded by the accumulate
* plugin, which will accumulate chunks and deliver them concatenated as one data
* Buffer to the onend handler.
*/
module.exports.init = function(config, logger, stats) {
// perform content transformation here
// the result of the transformation must be another Buffer
function transform(data) {
return new Buffer(data.toString().toUpperCase());
}
return {
ondata_response: function(req, res, data, next) {
// transform each chunk as it is received
next(null, data ? transform(data) : null);
},
onend_response: function(req, res, data, next) {
// transform accumulated data, if any
next(null, data ? transform(data) : null);
},
ondata_request: function(req, res, data, next) {
// transform each chunk as it is received
next(null, data ? transform(data) : null);
},
onend_request: function(req, res, data, next) {
// transform accumulated data, if any
next(null, data ? transform(data) : null);
}
};
}