protocol: String? = null,
handle: suspend WebSocketSession.() -> Unit)
An OutgoingContent response object that could be used to
respond(): it will cause application engine to
perform HTTP upgrade and start websocket RAW session.
handle function is applied to a session and as far as it is a RAW session, you should handle all low-level frames yourself and deal with ping/pongs, timeouts, close frames, frame fragmentation and so on.
call - that is starting web socket session
protocol - web socket negotiated protocol name (optional)
handle - function that is started once HTTP upgrade complete and the session will end once this function exit