-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Work without call of stream.write if run with bun dev not work if run with bun -b dev. To work need to add stream.write().
const sse = require('https://github.com/EventSource/node-ssestream/blob/master/index.ts');
const rxjs_1 = require("rxjs");
const operators_1 = require("rxjs/operators");
const stream = new sse.SseStream(request);
stream.pipe(response, options);
// stream.write('');
const subscription = result
.pipe((0, operators_1.map)((message) => {
if ((0, shared_utils_1.isObject)(message)) {
return message;
}
return { data: message };
}), (0, operators_1.concatMap)(message =>
new Promise(resolve => stream.writeMessage(
message,
() => resolve()))),
(0, operators_1.catchError
)(err => {
const data = err instanceof Error ? err.message : err;
stream.writeMessage({ type: 'error', data }, writeError => {
if (writeError) {
this.logger.error(writeError);
}
});
return rxjs_1.EMPTY;
}))
.subscribe({
complete: () => {
response.end();
},
});
request.on('close', () => {
subscription.unsubscribe();
if (!stream.writableEnded) {
stream.end();
}
});
Metadata
Metadata
Assignees
Labels
No labels