basic docker config, fixes several critical faults, allows status manager to get status via sse
This commit is contained in:
@@ -25,7 +25,26 @@ export const handler: Handlers = {
|
||||
return new Response("action done");
|
||||
}
|
||||
},
|
||||
GET() {
|
||||
return new Response(SERVER_STATE.status);
|
||||
GET(_req, _ctx) {
|
||||
let listener: (e: CustomEvent) => void;
|
||||
const body = new ReadableStream({
|
||||
async start(controller){
|
||||
const event = `event: status\ndata: ${SERVER_STATE.status}\n\n`
|
||||
controller.enqueue(event);
|
||||
listener = (e) => {
|
||||
const event = `event: status\ndata: ${e.detail}\n\n`
|
||||
controller.enqueue(event);
|
||||
};
|
||||
globalThis.addEventListener('serverstatuschange' as any, listener)
|
||||
},
|
||||
cancel() {
|
||||
globalThis.removeEventListener('serverstatuschange' as any, listener);
|
||||
}
|
||||
})
|
||||
|
||||
return new Response(body.pipeThrough(new TextEncoderStream()), { headers: {
|
||||
"Content-Type": "text/event-stream",
|
||||
"cache-control": "no-cache"
|
||||
}});
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user