U
    |HaB                     @   s  d dl Z d dlZd dlmZmZmZmZmZmZm	Z	m
Z
mZmZ d dlmZ e jdkrld dlmZmZmZ nd dlmZmZmZ dZG dd deZG d	d
 d
eZG dd deZG dd deZeeef Zeeeef ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZ!G dd deZ"G dd  d eZ#G d!d" d"eZ$G d#d$ d$eZ%G d%d& d&eZ&G d'd( d(eZ'G d)d* d*eZ(G d+d, d,eZ)G d-d. d.eZ*G d/d0 d0eZ+G d1d2 d2eZ,G d3d4 d4eZ-eeee e"e&e(e)f Z.eeeeee!e#e$e%e'e*e+e,e-f Z/eg ee. f Z0ee/ged f Z1G d5d6 d6eZ2ee2 Z3eee0e1ged f Z4ee3e4f Z5e e!e"e#e$e%e&e'd7Z6e7ed8d9d:Z8ee7 d;d<d=Z9ee: dS )>    N)
Any	AwaitableCallableDictIterableListOptionalTupleTypeUnion)pep562)      )LiteralProtocol	TypedDict)!ASGIVersions	HTTPScopeWebSocketScopeLifespanScopeWWWScopeScopeHTTPRequestEventHTTPResponseStartEventHTTPResponseBodyEventHTTPServerPushEventHTTPDisconnectEventWebSocketConnectEventWebSocketAcceptEventWebSocketReceiveEventWebSocketSendEventWebSocketResponseStartEventWebSocketResponseBodyEventWebSocketDisconnectEventWebSocketCloseEventLifespanStartupEventLifespanShutdownEventLifespanStartupCompleteEventLifespanStartupFailedEventLifespanShutdownCompleteEventLifespanShutdownFailedEventASGIReceiveEventASGISendEventASGIReceiveCallableASGISendCallableASGI2ProtocolASGI2ApplicationASGI3ApplicationASGIApplicationc                   @   s.   e Zd ZU eed< eed ed f ed< dS )r   spec_versionz2.0z3.0versionN)__name__
__module____qualname__str__annotations__r   r    r:   r:   2/tmp/pip-unpacked-wheel-g4vpofbr/asgiref/typing.pyr   <   s   
r   c                   @   s   e Zd ZU ed ed< eed< eed< eed< eed< eed< eed< eed	< eed
< ee	eef  ed< e
e	eef  ed< e
e	ee
e f  ed< e
eeeeef f  ed< dS )r   httptypeasgihttp_versionmethodschemepathraw_pathquery_string	root_pathheadersclientserver
extensionsNr5   r6   r7   r   r9   r   r8   bytesr   r	   r   intr   objectr:   r:   r:   r;   r   A   s   
r   c                   @   s   e Zd ZU ed ed< eed< eed< eed< eed< eed< eed< eed	< ee	eef  ed
< e
e	eef  ed< e
e	ee
e f  ed< ee ed< e
eeeeef f  ed< dS )r   Z	websocketr=   r>   r?   rA   rB   rC   rD   rE   rF   rG   rH   ZsubprotocolsrI   NrJ   r:   r:   r:   r;   r   Q   s   
r   c                   @   s"   e Zd ZU ed ed< eed< dS )r   Zlifespanr=   r>   N)r5   r6   r7   r   r9   r   r:   r:   r:   r;   r   a   s   
r   c                   @   s*   e Zd ZU ed ed< eed< eed< dS )r   zhttp.requestr=   body	more_bodyNr5   r6   r7   r   r9   rK   boolr:   r:   r:   r;   r   j   s   
r   c                   @   s6   e Zd ZU ed ed< eed< eeeef  ed< dS )r   zhttp.response.startr=   statusrF   N	r5   r6   r7   r   r9   rL   r   r	   rK   r:   r:   r:   r;   r   p   s   
r   c                   @   s*   e Zd ZU ed ed< eed< eed< dS )r   zhttp.response.bodyr=   rN   rO   NrP   r:   r:   r:   r;   r   v   s   
r   c                   @   s6   e Zd ZU ed ed< eed< eeeef  ed< dS )r   zhttp.response.pushr=   rB   rF   N)	r5   r6   r7   r   r9   r8   r   r	   rK   r:   r:   r:   r;   r   |   s   
r   c                   @   s   e Zd ZU ed ed< dS )r   zhttp.disconnectr=   Nr5   r6   r7   r   r9   r:   r:   r:   r;   r      s   
r   c                   @   s   e Zd ZU ed ed< dS )r   zwebsocket.connectr=   NrT   r:   r:   r:   r;   r      s   
r   c                   @   s:   e Zd ZU ed ed< ee ed< eee	e	f  ed< dS )r   zwebsocket.acceptr=   ZsubprotocolrF   N)
r5   r6   r7   r   r9   r   r8   r   r	   rK   r:   r:   r:   r;   r      s   
r   c                   @   s2   e Zd ZU ed ed< ee ed< ee ed< dS )r   zwebsocket.receiver=   rK   textNr5   r6   r7   r   r9   r   rK   r8   r:   r:   r:   r;   r      s   
r   c                   @   s2   e Zd ZU ed ed< ee ed< ee ed< dS )r    zwebsocket.sendr=   rK   rU   NrV   r:   r:   r:   r;   r       s   
r    c                   @   s6   e Zd ZU ed ed< eed< eeeef  ed< dS )r!   zwebsocket.http.response.startr=   rR   rF   NrS   r:   r:   r:   r;   r!      s   
r!   c                   @   s*   e Zd ZU ed ed< eed< eed< dS )r"   zwebsocket.http.response.bodyr=   rN   rO   NrP   r:   r:   r:   r;   r"      s   
r"   c                   @   s"   e Zd ZU ed ed< eed< dS )r#   zwebsocket.disconnectr=   codeN)r5   r6   r7   r   r9   rL   r:   r:   r:   r;   r#      s   
r#   c                   @   s.   e Zd ZU ed ed< eed< ee ed< dS )r$   zwebsocket.closer=   rW   reasonN)r5   r6   r7   r   r9   rL   r   r8   r:   r:   r:   r;   r$      s   
r$   c                   @   s   e Zd ZU ed ed< dS )r%   zlifespan.startupr=   NrT   r:   r:   r:   r;   r%      s   
r%   c                   @   s   e Zd ZU ed ed< dS )r&   zlifespan.shutdownr=   NrT   r:   r:   r:   r;   r&      s   
r&   c                   @   s   e Zd ZU ed ed< dS )r'   zlifespan.startup.completer=   NrT   r:   r:   r:   r;   r'      s   
r'   c                   @   s"   e Zd ZU ed ed< eed< dS )r(   zlifespan.startup.failedr=   messageNr5   r6   r7   r   r9   r8   r:   r:   r:   r;   r(      s   
r(   c                   @   s   e Zd ZU ed ed< dS )r)   zlifespan.shutdown.completer=   NrT   r:   r:   r:   r;   r)      s   
r)   c                   @   s"   e Zd ZU ed ed< eed< dS )r*   zlifespan.shutdown.failedr=   rY   NrZ   r:   r:   r:   r;   r*      s   
r*   c                   @   s.   e Zd ZeddddZeeddddZdS )r/   N)scopereturnc                 C   s   d S Nr:   )selfr[   r:   r:   r;   __init__   s    zASGI2Protocol.__init__)receivesendr\   c                    s   d S r]   r:   )r^   r`   ra   r:   r:   r;   __call__   s    zASGI2Protocol.__call__)r5   r6   r7   r   r_   r-   r.   rb   r:   r:   r:   r;   r/      s
    r/   )ZWebsocketConnectEventZWebsocketAcceptEventZWebsocketReceiveEventZWebsocketSendEventZWebsocketResponseStartEventZWebsocketResponseBodyEventZWebsocketDisconnectEventZWebsocketCloseEvent)namer\   c                 C   s^   t | }|rDtjdkrdnd}tjd|  d|j dt|d |S tdt d	|  dd S )
N)r      r      'z' is deprecated. Use 'z
' instead.)category
stacklevelzmodule 'z' has no attribute ')	__deprecated__getsysversion_infowarningswarnr5   DeprecationWarningAttributeError)rc   
deprecatedrh   r:   r:   r;   __getattr__  s    
rr   )r\   c                   C   s   t tttt  S r]   )sortedlist__all__ri   keysr:   r:   r:   r;   __dir__  s    rw   );rk   rm   typingr   r   r   r   r   r   r   r	   r
   r   Zasgiref._pep562r   rl   r   r   r   Ztyping_extensionsru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   ri   r8   rr   rw   r5   r:   r:   r:   r;   <module>   s   0
%
