, Transform Stream.
var Req = getReq(response);
var transformStream = new TransformStream();
Req.headers['content-type'] = request.headers['content-type'];
request.pipe(transformStream).pipe(Req);
:
var Transform = require('stream').Transform,
util = require('util');
var TransformStream = function() {
Transform.call(this, {objectMode: true});
};
util.inherits(TransformStream, Transform);
TransformStream.prototype._transform = function(chunk, encoding, callback) {
this.push(chunk);
callback();
};
TransformStream.prototype._flush = function (callback) {
callback();
};
_transform :
JSON, ,
<SOME_DATA_BEFORE_JSON> <MY_JSON_START>
this.push(SOME_DATA_BEFORE_JSON); MY_JSON_START var
JSON , var
JSON :
<JSON_END> <SOME_DATA_AFTER_JSON>
JSON_END var, , ,
:
this.push(local_var);
this.push(SOME_DATA_AFTER_JSON);
JSON,
this.push(chunk);
, multipart format.
SOME_DATA_BEFORE_JSON :
--frontier
Content-Type: text/plain
<JSON_START>
Content-Type, , ..
- , ( ).
; (frontier), , JSON . :
- chunk:
<SOME_DATA> --frontier <FILE METADATA> <FILE_DATA> - chunk 1:
<SOME_DATA> --fron
chunk 2: ier <FILE METADATA> <FILE_DATA>
, !