1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
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.
.. _extensions: https://datatracker.ietf.org/doc/html/rfc6455.html#section-9
.. _registered extension: https://www.iana.org/assignments/websocket/websocket.xhtml#extension-name
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:: ServerPerMessageDeflateFactory
.. autoclass:: ClientPerMessageDeflateFactory
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:: ServerExtensionFactory
.. automethod:: process_request_params
.. autoclass:: ClientExtensionFactory
.. autoattribute:: name
.. automethod:: get_request_params
.. automethod:: process_response_params
|