addWebsocketHandler
Adds a WebSocket handler to @server for requests prefixed by @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, @server 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 and setting a failure status code if the handshake should be rejected.
Parameters
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