class WebSocketUpgrade : ProtocolUpgrade
An OutgoingContent response object that could be used to respond()
: it will cause application engine to
perform HTTP upgrade and start websocket RAW session.
Please note that you generally shouldn't use this object directly but use WebSockets feature with routing builders webSocket instead.
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)
installExtensions
- specifies if WebSocket extensions should be installed in current session.
handle
- function that is started once HTTP upgrade complete and the session will end once this function exit
WebSocketUpgrade(call: ApplicationCall, protocol: String? = null, handle: suspend WebSocketSession.() -> Unit) WebSocketUpgrade(call: ApplicationCall, protocol: String? = null, installExtensions: Boolean = false, handle: suspend WebSocketSession.() -> Unit)
An OutgoingContent response object that could be used to |
val call: ApplicationCall
that is starting web socket session |
|
val handle: suspend WebSocketSession.() -> Unit
function that is started once HTTP upgrade complete and the session will end once this function exit |
|
val headers: Headers |
|
val protocol: String?
web socket negotiated protocol name (optional) |
suspend fun upgrade(input: ByteReadChannel, output: ByteWriteChannel, engineContext: <ERROR CLASS>, userContext: <ERROR CLASS>): Job |