Function
Soupwebsocket_server_process_handshake
Declaration [src]
gboolean
soup_websocket_server_process_handshake (
SoupServerMessage* msg,
const char* expected_origin,
char** protocols,
GPtrArray* supported_extensions,
GList** accepted_extensions
)
Description [src]
Examines the method and request headers in msg
and (assuming msg
contains a valid handshake request), fills in the handshake response.
If expected_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. The accepted extensions
will be returned in accepted_extensions
parameter if non-NULL
.
This is a low-level function; if you use
soup_server_add_websocket_handler()
to handle accepting WebSocket
connections, it will call this for you.
Parameters
msg
-
Type:
SoupServerMessage
SoupServerMessage
containing the client side of a WebSocket handshake.The data is owned by the caller of the function. expected_origin
-
Type:
const char*
Expected Origin header.
The argument can be NULL
.The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. protocols
-
Type: An array of
char*
Allowed WebSocket protocols.
The argument can be NULL
.The array must be NULL
-terminated.The data is owned by the caller of the function. Each element is a NUL terminated UTF-8 string. supported_extensions
-
Type: An array of
None
List of supported extension types.
The argument can be NULL
.The data is owned by the caller of the function. accepted_extensions
-
Type: A list of
None
A
GList
ofSoupWebsocketExtension
objects.The argument will be set by the function. The argument can be NULL
.The caller of the function takes ownership of the returned data, and is responsible for freeing it.