Source code

Revision control

Copy as Markdown

Other Tools

Extensions
==========
.. currentmodule:: websockets.extensions
The WebSocket protocol supports extensions_.
At the time of writing, there's only one `registered extension`_ with a public
specification, WebSocket Per-Message Deflate.
Per-Message Deflate
-------------------
.. automodule:: websockets.extensions.permessage_deflate
:mod:`websockets.extensions.permessage_deflate` implements WebSocket
Per-Message Deflate.
This extension is specified in :rfc:`7692`.
Refer to the :doc:`topic guide on compression <../topics/compression>` to
learn more about tuning compression settings.
.. autoclass:: ClientPerMessageDeflateFactory
.. autoclass:: ServerPerMessageDeflateFactory
Base classes
------------
.. automodule:: websockets.extensions
:mod:`websockets.extensions` defines base classes for implementing
extensions.
Refer to the :doc:`how-to guide on extensions <../howto/extensions>` to
learn more about writing an extension.
.. autoclass:: Extension
.. autoattribute:: name
.. automethod:: decode
.. automethod:: encode
.. autoclass:: ClientExtensionFactory
.. autoattribute:: name
.. automethod:: get_request_params
.. automethod:: process_response_params
.. autoclass:: ServerExtensionFactory
.. automethod:: process_request_params