Extensions¶
Per-Message Deflate¶
websockets.extensions.permessage_deflate
implements the Compression
Extensions for WebSocket as specified in RFC 7692.
- class websockets.extensions.permessage_deflate.ClientPerMessageDeflateFactory(server_no_context_takeover=False, client_no_context_takeover=False, server_max_window_bits=None, client_max_window_bits=None, compress_settings=None)[source]¶
Client-side extension factory for the Per-Message Deflate extension.
Parameters behave as described in section 7.1 of RFC 7692. Set them to
True
to include them in the negotiation offer without a value or to an integer value to include them with this value.- Parameters:
server_no_context_takeover (
bool
) – defaults toFalse
client_no_context_takeover (
bool
) – defaults toFalse
server_max_window_bits (
Optional
[int
]) – optional, defaults toNone
client_max_window_bits (
Union
[int
,bool
,None
]) – optional, defaults toNone
compress_settings (
Optional
[Dict
[str
,Any
]]) – optional, keyword arguments forzlib.compressobj()
, excludingwbits
- class websockets.extensions.permessage_deflate.ServerPerMessageDeflateFactory(server_no_context_takeover=False, client_no_context_takeover=False, server_max_window_bits=None, client_max_window_bits=None, compress_settings=None)[source]¶
Server-side extension factory for the Per-Message Deflate extension.
Parameters behave as described in section 7.1 of RFC 7692. Set them to
True
to include them in the negotiation offer without a value or to an integer value to include them with this value.- Parameters:
server_no_context_takeover (
bool
) – defaults toFalse
client_no_context_takeover (
bool
) – defaults toFalse
server_max_window_bits (
Optional
[int
]) – optional, defaults toNone
client_max_window_bits (
Optional
[int
]) – optional, defaults toNone
compress_settings (
Optional
[Dict
[str
,Any
]]) – optional, keyword arguments forzlib.compressobj()
, excludingwbits
Abstract classes¶
- class websockets.extensions.Extension[source]¶
Abstract class for extensions.
- encode(frame)[source]¶
Encode an outgoing frame.
- Parameters:
frame (
Frame
) – outgoing frame- Return type:
Frame
- property name: ExtensionName¶
Extension identifier.
- class websockets.extensions.ClientExtensionFactory[source]¶
Abstract class for client-side extension factories.
- property name: ExtensionName¶
Extension identifier.
- class websockets.extensions.ServerExtensionFactory[source]¶
Abstract class for server-side extension factories.
- property name: ExtensionName¶
Extension identifier.
- process_request_params(params, accepted_extensions)[source]¶
Process request parameters received from the client.
To accept the offer, return a 2-uple containing:
response parameters: a list of
(name, value)
pairsan extension: an instance of a subclass of
Extension
- Parameters:
- Raises:
NegotiationError – to reject the offer, if parameters aren’t acceptable
- Return type: