wsFrame

tcmts.cli.test.e2e.examples.wsFrame · #77zkpkk3 · term · runs on the server

uses Buffer

A websocket text frame, as a server sends it (unmasked).

export function wsFrame(text: string): Buffer {
  const data = Buffer.from(text);
  const n = data.length;
  const head =
    n < 126
      ? Buffer.from([0x81, n])
      : n < 65536
        ? Buffer.from([0x81, 126, n >> 8, n & 0xff])
        : Buffer.concat([
            Buffer.from([0x81, 127]),
            (() => {
              const b = Buffer.alloc(8);
              b.writeBigUInt64BE(BigInt(n));
              return b;
            })(),
          ]);
  return Buffer.concat([head, data]);
}

used by