
    JiW                    |    S SK Jr  S SKJr  SSKJr  SSKJrJr  / SQr	 " S S5      r
 " S	 S
5      r " S S5      rg)    )annotations)Sequence   )Frame)ExtensionNameExtensionParameter)	ExtensionClientExtensionFactoryServerExtensionFactoryc                  B    \ rS rSr% SrS\S'    SS.S
S jjrSS jrS	rg)r	      z
Base class for extensions.

r   nameN)max_sizec                   [         e)z
Decode an incoming frame.

Args:
    frame: Incoming frame.
    max_size: Maximum payload size in bytes.

Returns:
    Decoded frame.

Raises:
    PayloadTooBig: If decoding the payload exceeds ``max_size``.

NotImplementedError)selfframer   s      \/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/websockets/extensions/base.pydecodeExtension.decode   s
     "!    c                    [         e)z[
Encode an outgoing frame.

Args:
    frame: Outgoing frame.

Returns:
    Encoded frame.

r   )r   r   s     r   encodeExtension.encode&   s
     "!r    )r   r   r   z
int | Nonereturnr   )r   r   r   r   )	__name__
__module____qualname____firstlineno____doc____annotations__r   r   __static_attributes__r   r   r   r	   r	      s    
 =A """r   r	   c                  F    \ rS rSr% SrS\S'    S	S jr      S
S jrSrg)r
   4   z2
Base class for client-side extension factories.

r   r   c                    [         e)zm
Build parameters to send to the server for this extension.

Returns:
    Parameters to send to the server.

r   )r   s    r   get_request_params)ClientExtensionFactory.get_request_params=   s
     "!r   c                    [         e)a   
Process parameters received from the server.

Args:
    params: Parameters received from the server for this extension.
    accepted_extensions: List of previously accepted extensions.

Returns:
    An extension instance.

Raises:
    NegotiationError: If parameters aren't acceptable.

r   r   paramsaccepted_extensionss      r   process_response_params.ClientExtensionFactory.process_response_paramsG   s
    & "!r   r   N)r   Sequence[ExtensionParameter])r,   r0   r-   Sequence[Extension]r   r	   )	r   r   r    r!   r"   r#   r(   r.   r$   r   r   r   r
   r
   4   s8    
 ""," 1" 
	"r   r
   c                  <    \ rS rSr% SrS\S'          SS jrSrg)	r   ]   z2
Base class for server-side extension factories.

r   r   c                    [         e)a  
Process parameters received from the client.

Args:
    params: Parameters received from the client for this extension.
    accepted_extensions: List of previously accepted extensions.

Returns:
    To accept the offer, parameters to send to the client for this
    extension and an extension instance.

Raises:
    NegotiationError: To reject the offer, if parameters received from
        the client aren't acceptable.

r   r+   s      r   process_request_params-ServerExtensionFactory.process_request_paramsf   s
    * "!r   r   N)r,   r0   r-   r1   r   z*tuple[list[ExtensionParameter], Extension])r   r   r    r!   r"   r#   r5   r$   r   r   r   r   r   ]   s3    
 "," 1" 
4	"r   r   N)
__future__r   collections.abcr   framesr   typingr   r   __all__r	   r
   r   r   r   r   <module>r<      s9    " $  6 L%" %"P&" &"R" "r   