public void add_websocket_handler (string? path, string? origin, string[]? protocols, owned ServerWebsocketCallback callback)

Adds a WebSocket handler to this for requests under path.

(If path is null or "/", then this will be the default handler for all requests that don't have a more specific handler.)

When a path has a WebSocket handler registered, this will check incoming requests for WebSocket handshakes after all other handlers have run (unless some earlier handler has already set a status code on the message), and update the request's status, response headers, and response body accordingly.

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. More complicated requirements can be handled by adding a normal handler to path, and having it perform whatever checks are needed (possibly calling soup_server_check_websocket_handshake one or more times), and setting a failure status code if the handshake should be rejected.



a Server


the toplevel path for the handler


the origin of the connection


the protocols supported by this handler


callback to invoke for successful WebSocket requests under path


destroy notifier to free user_data


data for callback