WebSocketDeflateExtension

Compress and decompress WebSocket frames to reduce amount of transferred bytes.

Usage

install(WebSockets) {
extensions {
install(WebSocketDeflateExtension)
}
}

Implements WebSocket deflate extension from RFC-7692. This implementation is using window size = 15 due to limitations of Deflater implementation.

Types

Link copied to clipboard
Link copied to clipboard
class Config

WebSocket deflate extension configuration.

Functions

Link copied to clipboard
open override fun clientNegotiation(negotiatedProtocols: List<WebSocketExtensionHeader>): Boolean

This method is called only for a client, when it receives the WebSocket upgrade response.

Link copied to clipboard
open override fun processIncomingFrame(frame: Frame): Frame

This method is called on each incoming frame before handling it in WebSocket session.

Link copied to clipboard
open override fun processOutgoingFrame(frame: Frame): Frame

This method is called on each outgoing frame and handle it before sending.

Link copied to clipboard
open override fun serverNegotiation(requestedProtocols: List<WebSocketExtensionHeader>): List<WebSocketExtensionHeader>

This method is called only for a server, when it receives websocket session.

Properties

Link copied to clipboard

Reference to the WebSocketExtensionFactory, which produced this extension.

Link copied to clipboard
open override val protocols: List<WebSocketExtensionHeader>

List of WebSocket extension protocols which will be sent by client in headers. They are required to inform server that client wants to negotiate current extension.