mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-11-05 00:48:44 +00:00
Initial pass at individual brew streams
This commit is contained in:
+12
-4
@@ -196,19 +196,27 @@ export default async function createApp(vite) {
|
||||
|
||||
// Create Event Stream source for pages to listen to
|
||||
let initStreamListener = false;
|
||||
app.get('/stream', (req, res)=>{
|
||||
app.get('/stream/:id', (req, res)=>{
|
||||
const id = req.params.id;
|
||||
|
||||
res.writeHead(200, {
|
||||
'Content-Type' : 'text/event-stream',
|
||||
'Cache-Control' : 'no-cache',
|
||||
'Cache-Control' : 'no-cache, no-transform',
|
||||
'Connection' : 'keep-alive',
|
||||
'Content-Encoding' : 'none'
|
||||
});
|
||||
|
||||
res.write(`data: ${JSON.stringify({ init: Date.now().toString(), shareId: id, eventType: 'message' })}\n\n`);
|
||||
|
||||
if(!initStreamListener){
|
||||
initStreamListener = true;
|
||||
Stream.on('sendUpdate', (event, data)=>{
|
||||
if(isLocalEnvironment) { console.log('Event:', event, '\nData:', data); }
|
||||
res.write(`data: ${JSON.stringify({ ...data, eventType: event })}\n\n`);
|
||||
if(isLocalEnvironment) {
|
||||
console.log('Event:', event, '\nData:', data);
|
||||
}
|
||||
if(id == data.shareId) {
|
||||
res.write(`data: ${JSON.stringify({ ...data, eventType: event })}\n\n`);
|
||||
};
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user