WebSockets
class WebSockets : CoroutineScope
WebSockets support feature. It is required to be installed first before binding any websocket endpoints
install(WebSockets) install(Routing) { webSocket("/ws") { incoming.consumeForEach { ... } } }
Parameters
pingIntervalMillis
- duration between pings or null
to disable pings.
timeoutMillis
- write/ping timeout after that a connection will be closed.
maxFrameSize
- maximum frame that could be received or sent.
masking
- whether masking need to be enabled (useful for security).
extensionsConfig
- is configuration for WebSocket extensions.
Types
companion object Feature : Feature installation object. |
|
class WebSocketOptions Websockets configuration options |
Constructors
WebSockets( WebSockets support feature. It is required to be installed first before binding any websocket endpoints |
Properties
val coroutineContext: <ERROR CLASS> |
|
val extensionsConfig: WebSocketExtensionsConfig is configuration for WebSocket extensions. |
|
val masking: Boolean whether masking need to be enabled (useful for security). |
|
val maxFrameSize: Long maximum frame that could be received or sent. |
|
val pingIntervalMillis: Long duration between pings or |
|
val timeoutMillis: Long write/ping timeout after that a connection will be closed. |
Companion Object Properties
val EXTENSIONS_KEY: AttributeKey<List<WebSocketExtension<*>>> Key for saving configured WebSocket extensions for the specific call. |
|
val key: AttributeKey<WebSockets> Unique key that identifies a feature |
Companion Object Functions
fun install( Feature installation script |
Extension Properties
val WebSockets.pingInterval: Duration? |
|
val WebSockets.timeout: Duration |
Extension Functions
fun CoroutineScope. fun CoroutineScope.decodeChunked( Start a chunked stream decoder coroutine |
|
fun <TEngine : ApplicationEngine, TConfiguration : Configuration> CoroutineScope.embeddedServer( Creates an embedded server with the given factory, listening on host:port |
|
fun CoroutineScope.httpServer( Start an http server with settings invoking handler for every request |
|
fun CoroutineScope. Start an http server with settings invoking handler for every request |
|
fun CoroutineScope.mapEngineExceptions( Returns ByteReadChannel with ByteChannel.close handler that returns SocketTimeoutException instead of SocketTimeoutException. fun CoroutineScope.mapEngineExceptions( Returns ByteWriteChannel with ByteChannel.close handler that returns SocketTimeoutException instead of SocketTimeoutException. |
|
fun CoroutineScope.parseMultipart( fun CoroutineScope.parseMultipart( fun CoroutineScope. Starts a multipart parser coroutine producing multipart events |
|
fun CoroutineScope.pinger( Launch pinger coroutine on CoroutineScope that is sending ping every specified period to outgoing channel, waiting for and verifying client’s pong frames. It is also handling timeout and sending timeout close frame fun CoroutineScope.pinger( Launch pinger coroutine on CoroutineScope that is sending ping every specified periodMillis to outgoing channel, waiting for and verifying client’s pong frames. It is also handling timeoutMillis and sending timeout close frame |
|
fun CoroutineScope.pinger( Launch pinger coroutine on CoroutineScope that is sending ping every specified period to outgoing channel, waiting for and verifying client’s pong frames. It is also handling timeout and sending timeout close frame |
|
fun CoroutineScope.ponger( Launch a ponger actor job on the CoroutineScope sending pongs to outgoing channel. It is acting for every client’s ping frame and replying with corresponding pong |
|
fun CoroutineScope.reader( fun CoroutineScope.reader( |
|
fun CoroutineScope. Start connection HTTP pipeline invoking handler for every request. Note that handler could be invoked multiple times concurrently due to HTTP pipeline nature |
|
fun CoroutineScope.startServerConnectionPipeline( Start connection HTTP pipeline invoking handler for every request. Note that handler could be invoked multiple times concurrently due to HTTP pipeline nature |
|
fun CoroutineScope. Start multirange response writer coroutine |
|
fun CoroutineScope.writer( fun CoroutineScope.writer( |