o
    >h                     @   s  d dl mZ d dlmZ d dlmZmZmZ z
d dlmZ dZ	W n e
y1   dZ	d dlmZ Y nw d dlmZmZ d d	lmZmZ d
d ZeeeeG dd deZeeeeG dd deZeeeeG dd deZeeeeG dd deZe Ze ZdS )    )implementer)IPlugin)!IStreamServerEndpointStringParserIStreamServerEndpointIStreamClientEndpoint),IStreamClientEndpointStringParserWithReactorTF)!IStreamClientEndpointStringParser)serverFromStringclientFromString)WrappingWebSocketServerFactoryWrappingWebSocketClientFactoryc                 C   s,  i }d| vr
t d| d |d< d| v r5| d   }|dkr%d|d< n|dkr.d|d< nt d	|d
| v r]zt| d
 }W n   t d| d
 |dk rYt d|||d< d| v rm| d   }||d< d| v r| d   }|dkrd|d< |S |dkrd|d< |S t d||S )Nurlz
URL neededcompressiontrueTenableCompressionfalseFz#invalid value '{0}' for compressionautofragz invalid value '{0}' for autofragr   z!negative value '{0}' for autofragautoFragmentSizesubprotocoldebugzinvalid value '{0}' for debug)	Exceptionlowerstripformatint)optionsoptsvalue r   /var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/twisted/plugins/autobahn_endpoints.py_parseOptions0   s@   

r    c                   @      e Zd ZdZdd ZdS )AutobahnServerParserautobahnc                 K   s   t |}t||}t|||S N)r    r	   AutobahnServerEndpoint)selfreactordescriptionr   r   endpointr   r   r   parseStreamServerb   s   
z&AutobahnServerParser.parseStreamServerN)__name__
__module____qualname__prefixr*   r   r   r   r   r"   \   s    r"   c                   @      e Zd Zdd Zdd ZdS )r%   c                 C      || _ || _|| _d S r$   _reactor	_endpoint_optionsr&   r'   r)   r   r   r   r   __init__      
zAutobahnServerEndpoint.__init__c                 C       | j t|fd| ji| jS Nr'   )r3   listenr   r2   r4   r&   protocolFactoryr   r   r   r:          zAutobahnServerEndpoint.listenN)r+   r,   r-   r6   r:   r   r   r   r   r%   }       r%   c                   @   r!   )AutobahnClientParserr#   c                 O   sp   t r|d }t|dkrtd|d }nddlm} t|dkr%td|d }t|}t||}t|||S )Nr      z=autobahn: client plugin takes exactly one positional argument   )r'   )_HAS_REACTOR_ARGlenRuntimeErrortwisted.internetr'   r    r
   AutobahnClientEndpoint)r&   argsr   r'   r(   r   r)   r   r   r   parseStreamClient   s   

z&AutobahnClientParser.parseStreamClientN)r+   r,   r-   r.   rH   r   r   r   r   r?      s    r?   c                   @   r/   )rF   c                 C   r0   r$   r1   r5   r   r   r   r6      r7   zAutobahnClientEndpoint.__init__c                 C   r8   r9   )r3   connectr   r2   r4   r;   r   r   r   rI      r=   zAutobahnClientEndpoint.connectN)r+   r,   r-   r6   rI   r   r   r   r   rF      r>   rF   N)zope.interfacer   twisted.pluginr   twisted.internet.interfacesr   r   r   r   rB   ImportErrorr   twisted.internet.endpointsr	   r
   autobahn.twisted.websocketr   r   r    objectr"   r%   r?   rF   autobahnServerParserautobahnClientParserr   r   r   r   <module>   s6   ,
