autobahn.websocket.compress¶
Attributes¶
Classes¶
Base class for WebSocket compression negotiated parameters. |
|
Base class for WebSocket compression parameter client offers. |
|
Base class for WebSocket compression parameter client offer accepts by the server. |
|
Base class for WebSocket compression parameter server responses. |
|
Base class for WebSocket compression parameter server response accepts by client. |
|
permessage-deflate WebSocket extension processor. |
|
Set of extension parameters for permessage-deflate WebSocket extension |
|
Set of parameters with which to accept an permessage-deflate offer |
|
Set of parameters for permessage-deflate responded by server. |
|
Set of parameters with which to accept an permessage-deflate response |
Module Contents¶
- class PerMessageCompress[source]¶
Base class for WebSocket compression negotiated parameters.
Concrete subclasses (one per permessage-compress extension) implement the decompression interface used by the WebSocket protocol:
start_decompress_message(self)decompress_message_data(self, data, max_output_len=None)end_decompress_message(self)
Bounded-decompression contract for
decompress_message_data: whenmax_output_lenis notNone, the call returns at mostmax_output_lenoctets of decompressed output and raisesautobahn.exception.PayloadExceededErrorif the input would produce more - it never silently truncates.max_output_len=None(the default) leaves decompression unbounded. Every backend stops decompressing near the budget, instead of inflating a whole frame first: deflate and bzip2 at exactly one octet over it, brotli at its library’s output buffer granularity, and snappy within one framing chunk (at most 64 KiB).Input that cannot be decompressed (corrupt, truncated, or not the extension’s format) raises
autobahn.exception.PayloadCorruptErrorfromdecompress_message_dataorend_decompress_message, never the library’s own exception.
- class PerMessageCompressOffer[source]¶
Base class for WebSocket compression parameter client offers.
- class PerMessageCompressOfferAccept[source]¶
Base class for WebSocket compression parameter client offer accepts by the server.
- class PerMessageCompressResponse[source]¶
Base class for WebSocket compression parameter server responses.
- class PerMessageCompressResponseAccept[source]¶
Base class for WebSocket compression parameter server response accepts by client.
- class PerMessageDeflate(is_server, server_no_context_takeover, client_no_context_takeover, server_max_window_bits, client_max_window_bits, mem_level, max_message_size=None)[source]¶
Bases:
autobahn.websocket.compress_base.PerMessageCompress,PerMessageDeflateMixinpermessage-deflate WebSocket extension processor.
- DEFAULT_MEM_LEVEL = 8¶
- DEFAULT_WINDOW_BITS = 15¶
- _compressor = None¶
- _decompress_message_size = 0¶
- _decompressor = None¶
- _is_server¶
- client_max_window_bits¶
- client_no_context_takeover¶
- max_message_size = None¶
- mem_level¶
- server_max_window_bits¶
- server_no_context_takeover¶
- class PerMessageDeflateOffer(accept_no_context_takeover=True, accept_max_window_bits=True, request_no_context_takeover=False, request_max_window_bits=0)[source]¶
Bases:
autobahn.websocket.compress_base.PerMessageCompressOffer,PerMessageDeflateMixinSet of extension parameters for permessage-deflate WebSocket extension offered by a client to a server.
- __json__()[source]¶
Returns a JSON serializable object representation.
- Returns:
JSON serializable representation.
- Return type:
- __repr__()[source]¶
Returns Python object representation that can be eval’ed to reconstruct the object.
- Returns:
Python string representation.
- Return type:
- accept_max_window_bits = True¶
- accept_no_context_takeover = True¶
- get_extension_string()[source]¶
Returns the WebSocket extension configuration string as sent to the server.
- Returns:
PMCE configuration string.
- Return type:
- classmethod parse(params)[source]¶
Parses a WebSocket extension offer for permessage-deflate provided by a client to a server.
- request_max_window_bits = 0¶
- request_no_context_takeover = False¶
- class PerMessageDeflateOfferAccept(offer, request_no_context_takeover=False, request_max_window_bits=0, no_context_takeover=None, window_bits=None, mem_level=None, max_message_size=None)[source]¶
Bases:
autobahn.websocket.compress_base.PerMessageCompressOfferAccept,PerMessageDeflateMixinSet of parameters with which to accept an permessage-deflate offer from a client by a server.
- __json__()[source]¶
Returns a JSON serializable object representation.
- Returns:
JSON serializable representation.
- Return type:
- __repr__()[source]¶
Returns Python object representation that can be eval’ed to reconstruct the object.
- Returns:
Python string representation.
- Return type:
- get_extension_string()[source]¶
Returns the WebSocket extension configuration string as sent to the server.
- Returns:
PMCE configuration string.
- Return type:
- max_message_size = None¶
- mem_level = None¶
- no_context_takeover = None¶
- offer¶
- request_max_window_bits = 0¶
- request_no_context_takeover = False¶
- window_bits = None¶
- class PerMessageDeflateResponse(client_max_window_bits, client_no_context_takeover, server_max_window_bits, server_no_context_takeover)[source]¶
Bases:
autobahn.websocket.compress_base.PerMessageCompressResponse,PerMessageDeflateMixinSet of parameters for permessage-deflate responded by server.
- __json__()[source]¶
Returns a JSON serializable object representation.
- Returns:
JSON serializable representation.
- Return type:
- __repr__()[source]¶
Returns Python object representation that can be eval’ed to reconstruct the object.
- Returns:
Python string representation.
- Return type:
- client_max_window_bits¶
- client_no_context_takeover¶
- classmethod parse(params)[source]¶
Parses a WebSocket extension response for permessage-deflate provided by a server to a client.
- server_max_window_bits¶
- server_no_context_takeover¶
- class PerMessageDeflateResponseAccept(response, no_context_takeover=None, window_bits=None, mem_level=None, max_message_size=None)[source]¶
Bases:
autobahn.websocket.compress_base.PerMessageCompressResponseAccept,PerMessageDeflateMixinSet of parameters with which to accept an permessage-deflate response from a server by a client.
- __json__()[source]¶
Returns a JSON serializable object representation.
- Returns:
JSON serializable representation.
- Return type:
- __repr__()[source]¶
Returns Python object representation that can be eval’ed to reconstruct the object.
- Returns:
Python string representation.
- Return type:
- max_message_size = None¶
- mem_level = None¶
- no_context_takeover = None¶
- response¶
- window_bits = None¶