prowler-sdk-poc
Version:
40 lines (31 loc) • 977 B
JavaScript
/**
* What is necessary to create an event stream in node?
* - http response stream
* - parser
* - event stream model
*/
var EventMessageChunkerStream = require('../event-stream/event-message-chunker-stream').EventMessageChunkerStream;
var EventUnmarshallerStream = require('../event-stream/event-message-unmarshaller-stream').EventUnmarshallerStream;
function createEventStream(stream, parser, model) {
var eventStream = new EventUnmarshallerStream({
parser: parser,
eventStreamModel: model
});
var eventMessageChunker = new EventMessageChunkerStream();
stream.pipe(
eventMessageChunker
).pipe(eventStream);
stream.on('error', function(err) {
eventMessageChunker.emit('error', err);
});
eventMessageChunker.on('error', function(err) {
eventStream.emit('error', err);
});
return eventStream;
}
/**
* @api private
*/
module.exports = {
createEventStream: createEventStream
};