
    af                     :   d dl mZ d dlmZ d dlmZmZmZ 	 d dlmZ dZ	n# e
$ r dZ	d dlmZ Y nw xY wd dlmZmZ d d	lmZmZ d
 Z ee           ee           G d de                                  Z ee           ee           G d de                                  Z ee           ee           G d de                                  Z ee           ee           G d de                                  Z e            Z e            ZdS )    )implementer)IPlugin)!IStreamServerEndpointStringParserIStreamServerEndpointIStreamClientEndpoint),IStreamClientEndpointStringParserWithReactorTF)!IStreamClientEndpointStringParser)serverFromStringclientFromString)WrappingWebSocketServerFactoryWrappingWebSocketClientFactoryc                 B   i }d| vrt          d          | d         |d<   d| v rf| d                                                                         }|dk    rd|d<   n.|dk    rd|d<   n"t          d	                    |                    d
| v rq	 t	          | d
                   }n-#  t          d                    | d
                             xY w|dk     r"t          d                    |                    ||d<   d| v r1| d                                                                         }||d<   d| v rf| d                                                                         }|dk    rd|d<   n.|dk    rd|d<   n"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values      T/var/www/html/env/lib/python3.11/site-packages/twisted/plugins/autobahn_endpoints.py_parseOptionsr!   0   s   DG%%%enU&,,..4466F??(,D$%%g(-D$%%AHHOOPPPW	\
+,,EE	\>EEgjFYZZ[[[199?FFuMMNNN#( &,,..4466#]' &&((..00F?? DMMg!DMM;BB5IIJJJKs   B& &*Cc                       e Zd ZdZd ZdS )AutobahnServerParserautobahnc                 b    t          |          }t          ||          }t          |||          S N)r!   r
   AutobahnServerEndpoint)selfreactordescriptionr   r   endpoints         r    parseStreamServerz&AutobahnServerParser.parseStreamServerb   s2    , W%%#G[99%gx>>>    N)__name__
__module____qualname__prefixr,    r-   r    r#   r#   \   s*         F? ? ? ? ?r-   r#   c                       e Zd Zd Zd ZdS )r'   c                 0    || _         || _        || _        d S r&   _reactor	_endpoint_optionsr(   r)   r+   r   s       r    __init__zAutobahnServerEndpoint.__init__       !r-   c                 d    | j                             t          |fd| j        i| j                  S Nr)   )r7   listenr   r6   r8   r(   protocolFactorys     r    r>   zAutobahnServerEndpoint.listen   s6    ~$$%CO%|%|]a]j%|nrn{%|%|}}}r-   N)r.   r/   r0   r:   r>   r2   r-   r    r'   r'   }   s7             
~ ~ ~ ~ ~r-   r'   c                       e Zd ZdZd ZdS )AutobahnClientParserr$   c                 6   t           r3|d         }t          |          dk    rt          d          |d         }n0d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+   s          r    parseStreamClientz&AutobahnClientParser.parseStreamClient   s     		"1gG4yyA~~"#bcccq'KK0000004yyA~~"#bcccq'KW%%#G[99%gx>>>r-   N)r.   r/   r0   r1   rL   r2   r-   r    rB   rB      s*         F? ? ? ? ?r-   rB   c                       e Zd Zd Zd ZdS )rJ   c                 0    || _         || _        || _        d S r&   r5   r9   s       r    r:   zAutobahnClientEndpoint.__init__   r;   r-   c                 d    | j                             t          |fd| j        i| j                  S r=   )r7   connectr   r6   r8   r?   s     r    rP   zAutobahnClientEndpoint.connect   s6    ~%%&D_&}&}^b^k&}oso|&}&}~~~r-   N)r.   r/   r0   r:   rP   r2   r-   r    rJ   rJ      s7             
    r-   rJ   N)zope.interfacer   twisted.pluginr   twisted.internet.interfacesr   r   r   r   rF   ImportErrorr	   twisted.internet.endpointsr
   r   autobahn.twisted.websocketr   r   r!   objectr#   r'   rB   rJ   autobahnServerParserautobahnClientParserr2   r-   r    <module>rZ      s  6 ' & & & & & " " " " " "         5XXXXXX 5 5 55 5 5 5 5 5 5 55
 J I I I I I I I# # # # # # # #) ) )X W.//? ? ? ? ?6 ? ? 0/ ?> W"##~ ~ ~ ~ ~V ~ ~ $# ~ W9::? ? ? ? ?6 ? ? ;: ?& W"##    V   $#  ,+-- ++--   s   ! 11