summaryrefslogtreecommitdiff
path: root/ext/websocket/autobahn/autobahn_server.js
blob: 7400c8d54758efedf0c1d6531a4b50779f14070e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { parseArgs } from "@std/cli/parse-args";

const { port } = parseArgs(Deno.args, {
  number: ["port"],
  default: {
    port: 6969,
  },
});

const { serve } = Deno;

// A message-based WebSocket echo server.
serve({ port }, (request) => {
  const { socket, response } = Deno.upgradeWebSocket(request);
  socket.onmessage = (event) => {
    socket.send(event.data);
  };
  return response;
});