Skip to main content

WebSocket

WebSocket is a communication protocol over a TCP connection for real-time messaging between a browser and a web server.

Websocket in Alosaur is organized like normal Middleware.

important

You can read more about context.response.setNotRespond() in Middleware.

import { HttpContext, PreRequestMiddleware } from "alosaur/mod.ts";import { ChatHandler } from "./chat.handler.ts";
export class WebsocketMiddleware implements PreRequestMiddleware {    async onPreRequest(context: HttpContext) {        const request = context.request.serverRequest;
        if (request.headers.get("upgrade") != "websocket") {            // return respondWith(            return new Response("not trying to upgrade as websocket.", { status: 400 });            // );        }
        const { socket, response } = Deno.upgradeWebSocket(request);
        ChatHandler(socket);        // respondWith(response);
        context.response.setImmediately();        return response;    }}