add_websocket_handler


Description:

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.

Parameters:

this

a Server

path

the toplevel path for the handler

origin

the origin of the connection

protocols

the protocols supported by this handler

callback

callback to invoke for successful WebSocket requests under path

destroy

destroy notifier to free user_data

user_data

data for callback