Перейти к основному содержимому

SSE (Server Sent Events)

danger

В данный момент не работает с Deno native http

SSE представляет собой технологию отправки уведомлений от сервера к веб-браузеру в виде DOM-событий.

SSE в Alosaur организуется как обычный Middleware.

Используйте context.response.setNotRespond() для прерывания запроса в Middleware

important

Более подробно про context.response.setNotRespond() вы можете прочитать в разделе Middleware.

import {  acceptSSE,  HttpContext,  PreRequestMiddleware,} from "https://deno.land/x/alosaur/mod.ts";
export class SseMiddleware implements PreRequestMiddleware {  async onPreRequest(context: HttpContext) {    acceptSSE(context).then(ChatHandler) // execute chat      .catch(async (e) => {        console.error(`failed to accept sse: ${e}`);        await context.request.serverRequest.respond({ status: 400 });      });
    context.response.setNotRespond();  }}