summaryrefslogtreecommitdiff
path: root/cli/bench/websocket/deno_echo.js
blob: 70e64dcbe570be0ef228e4fa032dab266c7075ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.

const port = Deno.args[0] ?? "8080";
const { serve } = Deno;

function handler(request) {
  const { socket, response } = Deno.upgradeWebSocket(request, {
    idleTimeout: 0,
  });
  socket.onmessage = (e) => {
    socket.send(e.data);
  };

  socket.onopen = () => {
    console.log("Connected to client");
  };

  socket.onerror = (e) => {
    console.log(e);
  };

  return response;
}

serve(handler, { port: parseInt(port), hostname: "0.0.0.0" });