Web Socket Upgrade
class WebSocketUpgrade(val call: ApplicationCall, val protocol: String? = null, installExtensions: Boolean = false, val handle: suspend WebSocketSession.() -> Unit) : OutgoingContent.ProtocolUpgrade(source)
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 plugin 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.
Parameters
call
that is starting web socket session
protocol
web socket negotiated protocol name (optional)
install Extensions
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
Constructors
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend override fun upgrade(input: ByteReadChannel, output: ByteWriteChannel, engineContext: CoroutineContext, userContext: CoroutineContext): Job