websocketServerCheckHandshake

fnbool websocketServerCheckHandshake(soup.server_message.ServerMessage msg, string origin = null, string[] protocols = null, gobject.type_class.TypeClass[] supportedExtensions = null)

Examines the method and request headers in msg and determines whether msg contains a valid handshake request.

If origin is non-null, then only requests containing a matching "Origin" header will be accepted. If protocols is non-null, then only requests containing a compatible "Sec-WebSocket-Protocols" header will be accepted. If supported_extensions is non-null, then only requests containing valid supported extensions in "Sec-WebSocket-Extensions" header will be accepted.

Normally funcwebsocket_server_process_handshake will take care of this for you, and if you use soup.server.Server.addWebsocketHandler to handle accepting WebSocket connections, it will call that for you. However, this function may be useful if you need to perform more complicated validation; eg, accepting multiple different Origins, or handling different protocols depending on the path.

Parameters

msg#SoupServerMessage containing the client side of a WebSocket handshake
originexpected Origin header
protocolsallowed WebSocket protocols.
supportedExtensionslist of supported extension types

Returns

true if msg contained a valid WebSocket handshake,

false and an error if not.

Throws