Files
send-mail/node_modules/undici/docs/docs/api/WebSocket.md
T
2026-03-14 19:11:45 +01:00

1.9 KiB

Class: WebSocket

⚠️ Warning: the WebSocket API is experimental.

Extends: EventTarget

The WebSocket object provides a way to manage a WebSocket connection to a server, allowing bidirectional communication. The API follows the WebSocket spec and RFC 6455.

new WebSocket(url[, protocol])

Arguments:

  • url URL | string - The url's protocol must be ws or wss.
  • protocol string | string[] | WebSocketInit (optional) - Subprotocol(s) to request the server use, or a Dispatcher.

WebSocketInit

When passing an object as the second argument, the following options are available:

  • protocols string | string[] (optional) - Subprotocol(s) to request the server use.
  • dispatcher Dispatcher (optional) - A custom Dispatcher to use for the connection.
  • headers HeadersInit (optional) - Custom headers to include in the WebSocket handshake request.

Example:

This example will not work in browsers or other platforms that don't allow passing an object.

import { WebSocket, ProxyAgent } from 'undici'

const proxyAgent = new ProxyAgent('my.proxy.server')

const ws = new WebSocket('wss://echo.websocket.events', {
  dispatcher: proxyAgent,
  protocols: ['echo', 'chat']
})

If you do not need a custom Dispatcher, it's recommended to use the following pattern:

import { WebSocket } from 'undici'

const ws = new WebSocket('wss://echo.websocket.events', ['echo', 'chat'])

Read More