gl-store-s3.js/node_modules/aws-sdk/lib/event-stream/streaming-create-event-stre...

40 lines
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
};