Backend half
This commit is contained in:
Generated
Vendored
+39
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* 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
|
||||
};
|
||||
Reference in New Issue
Block a user