interface WebSocketExtension<ConfigType : Any>
WebSocket extension instance. This instance is created for each WebSocket request, for every installed extension by WebSocketExtensionFactory.
abstract val factory: WebSocketExtensionFactory<ConfigType, out WebSocketExtension<ConfigType>>
Reference to the WebSocketExtensionFactory, which produced this extension. |
|
abstract 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. |
abstract fun clientNegotiation(negotiatedProtocols: List<WebSocketExtensionHeader>): Boolean
This method is called only for a client, when it receives the WebSocket upgrade response. |
|
abstract fun processIncomingFrame(frame: Frame): Frame
This method is called on each incoming frame before handling it in WebSocket session. |
|
abstract fun processOutgoingFrame(frame: Frame): Frame
This method is called on each outgoing frame and handle it before sending. |
|
abstract fun serverNegotiation(requestedProtocols: List<WebSocketExtensionHeader>): List<WebSocketExtensionHeader>
This method is called only for a server, when it receives websocket session. |
class WebSocketDeflateExtension : WebSocketExtension<Config>
Compress and decompress WebSocket frames to reduce amount of transferred bytes. |