File: extensions.rst

package info (click to toggle)
python-websockets 15.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,948 kB
  • sloc: python: 25,105; javascript: 350; ansic: 148; makefile: 43
file content (59 lines) | stat: -rw-r--r-- 1,469 bytes parent folder | download
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