HonoH
Hono11mo ago
playsonmac

Websocket subprotocol results in Error: The script will never generate a response

Websockets - sending subprotocols (auth token smuggling) results in Error: The script will never generate a response.

Client:
const ws = new WebSocket(wsUrl, "potato");


Hono:
app.get(
  "/ws",
  upgradeWebSocket((c) => {
    const rawProtocols = c.req.header("sec-websocket-protocol");
    console.log(rawProtocols);

    return {
      onMessage: (event) => {
        console.log(event.data);
      },
    };
  })
);


  • Fails right away at the upgrade with
    Error: The script will never generate a response.
    on the server.
  • This only happens if I send a subprotocol such as
    "potato"
    which automatically gets converted to the
    sec-websocket-protocol
    header as it should. Curiously I can see the header in the console log.
  • Also tried with hc, same issue.
Was this page helpful?