class web::WebSocket

sys::Obj
  web::WebSocket

Source

WebSocket is used for both client and server web socket messaging. Current implementation only supports basic non-fragmented text or binary messages.

close

Bool close()

Source

Close the web socket

isClosed

Bool isClosed()

Source

Return true if this socket has been closed

openClient

static WebSocket openClient(Uri uri, Map<Str,Str>? headers := null)

Source

Open a client connection. The URI must have a "ws" or "wss" scheme. The headers parameter defines additional HTTP headers to include in the connection request.

openServer

static WebSocket openServer(WebReq req, WebRes res)

Source

Upgrade a server request to a WebSocket. Raise IOErr is there is any problems during the handshake in which case the calling WebMod should return a 400 response.

Note: once this method completes, the socket is now owned by the WebSocket instance and not the web server (wisp); it must be explicitly closed to prevent a file handle leak.

receive

Obj? receive()

Source

Receive a message which is returned as either a Str or Buf. Raise IOErr if socket has error or is closed.

send

Void send(Obj msg)

Source

Send a message which must be either a Str of Buf. Bufs are sent using their full contents irrelevant of their current position.

socketOptions

@Deprecated { msg=... }
SocketOptions socketOptions()

Source

Access to socket options for this request.