B
    HVvg^  ã               @   sÔ  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
 e jdkrTd dlmZmZmZ nd dlmZmZmZ e jdkr€d dlmZ nd dl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 d0d1„ d1eƒZ(G d2d3„ d3eƒZ)G d4d5„ d5eƒZ*G d6d7„ d7eƒZ+G d8d9„ d9eƒ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+e,f Z.eg ee- f Z/ee.ged f Z0G d:d;„ d;eƒZ1e	e1 Z2eee/e0ged f Z3e
e2e3f Z4dS )<é    N)	ÚAnyÚ	AwaitableÚCallableÚDictÚIterableÚOptionalÚTupleÚTypeÚUnion)é   é   )ÚLiteralÚProtocolÚ	TypedDict)r   é   )ÚNotRequired)"ÚASGIVersionsÚ	HTTPScopeÚWebSocketScopeÚLifespanScopeÚWWWScopeÚScopeÚHTTPRequestEventÚHTTPResponseStartEventÚHTTPResponseBodyEventÚHTTPResponseTrailersEventÚ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   Zspec_versionz2.0z3.0ÚversionN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r
   r   © r:   r:   ú3/tmp/pip-install-o3oxmrkh/asgiref/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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ÚstateÚ
extensionsN)r5   r6   r7   r   r9   r   r8   Úbytesr   r   r   Úintr   r   r   Úobjectr:   r:   r:   r;   r   C   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f  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   rJ   N)r5   r6   r7   r   r9   r   r8   rK   r   r   r   rL   r   r   r   rM   r:   r:   r:   r;   r   T   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lifespanr=   r>   rI   N)
r5   r6   r7   r   r9   r   r   r   r8   r   r:   r:   r:   r;   r   e   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   o   s   
r   c               @   s*   e Zd ZU ed ed< eeef ed< dS )ÚHTTPResponseDebugEventzhttp.response.debugr=   ÚinfoN)r5   r6   r7   r   r9   r   r8   rM   r:   r:   r:   r;   rQ   u   s   
rQ   c               @   s>   e Zd ZU ed ed< eed< eeeef  ed< e	ed< dS )r   zhttp.response.startr=   ÚstatusrF   ZtrailersN)
r5   r6   r7   r   r9   rL   r   r   rK   rP   r:   r:   r:   r;   r   z   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   N)r5   r6   r7   r   r9   rK   rP   r:   r:   r:   r;   r   �   s   
r   c               @   s6   e Zd ZU ed ed< eeeef  ed< eed< dS )r   zhttp.response.trailersr=   rF   Zmore_trailersN)	r5   r6   r7   r   r9   r   r   rK   rP   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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=   N)r5   r6   r7   r   r9   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   rT   N)r5   r6   r7   r   r9   r   rK   r8   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=   rS   rF   N)	r5   r6   r7   r   r9   rL   r   r   rK   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   N)r5   r6   r7   r   r9   rK   rP   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=   rU   Ú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=   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lifespan.shutdownr=   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lifespan.startup.completer=   N)r5   r6   r7   r   r9   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=   N)r5   r6   r7   r   r9   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=   rW   N)r5   r6   r7   r   r9   r8   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 )r0   N)ÚscopeÚreturnc             C   s   d S )Nr:   )ÚselfrX   r:   r:   r;   Ú__init__   s    zASGI2Protocol.__init__)ÚreceiveÚsendrY   c             Ã   s   d S )Nr:   )rZ   r\   r]   r:   r:   r;   Ú__call__  s    zASGI2Protocol.__call__)r5   r6   r7   r   r[   r.   r/   r^   r:   r:   r:   r;   r0   ÿ   s   r0   )5ÚsysÚtypingr   r   r   r   r   r   r   r	   r
   Úversion_infor   r   r   Ztyping_extensionsr   Ú__all__r   r   r   r   r   r   r   rQ   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   r3   r:   r:   r:   r;   Ú<module>   sˆ   ,

%
