extensions.rst (1547B)
1 Extensions 2 ========== 3 4 .. currentmodule:: websockets.extensions 5 6 The WebSocket protocol supports extensions_. 7 8 At the time of writing, there's only one `registered extension`_ with a public 9 specification, WebSocket Per-Message Deflate. 10 11 .. _extensions: https://www.rfc-editor.org/rfc/rfc6455.html#section-9 12 .. _registered extension: https://www.iana.org/assignments/websocket/websocket.xhtml#extension-name 13 14 Per-Message Deflate 15 ------------------- 16 17 .. automodule:: websockets.extensions.permessage_deflate 18 19 :mod:`websockets.extensions.permessage_deflate` implements WebSocket 20 Per-Message Deflate. 21 22 This extension is specified in :rfc:`7692`. 23 24 Refer to the :doc:`topic guide on compression <../topics/compression>` to 25 learn more about tuning compression settings. 26 27 .. autoclass:: ClientPerMessageDeflateFactory 28 29 .. autoclass:: ServerPerMessageDeflateFactory 30 31 Base classes 32 ------------ 33 34 .. automodule:: websockets.extensions 35 36 :mod:`websockets.extensions` defines base classes for implementing 37 extensions. 38 39 Refer to the :doc:`how-to guide on extensions <../howto/extensions>` to 40 learn more about writing an extension. 41 42 .. autoclass:: Extension 43 44 .. autoattribute:: name 45 46 .. automethod:: decode 47 48 .. automethod:: encode 49 50 .. autoclass:: ClientExtensionFactory 51 52 .. autoattribute:: name 53 54 .. automethod:: get_request_params 55 56 .. automethod:: process_response_params 57 58 .. autoclass:: ServerExtensionFactory 59 60 .. automethod:: process_request_params