B
    -
d                 @   s  d dl Z d dlmZmZmZmZmZmZmZm	Z	 e j
dkrPd 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.d/ d/eZ&G d0d1 d1eZ'G d2d3 d3eZ(G d4d5 d5e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 Z-G d6d7 d7eZ.ee. Z/eee,e-ged f Z0e	e/e0f Z1dS )8    N)	AwaitableCallableDictIterableOptionalTupleTypeUnion)      )LiteralProtocol	TypedDict)"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    r7   r7   3/tmp/pip-install-nbqhn9mb/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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)r2   r3   r4   r   r6   r   r5   bytesr   r   r   intr   objectr7   r7   r7   r8   r   4   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<   r>   r?   r@   rA   rB   rC   rD   rE   ZsubprotocolsrF   N)r2   r3   r4   r   r6   r   r5   rG   r   r   r   rH   r   rI   r7   r7   r7   r8   r   D   s   
r   c               @   s"   e Zd ZU ed ed< eed< dS )r   Zlifespanr:   r;   N)r2   r3   r4   r   r6   r   r7   r7   r7   r8   r   T   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)r2   r3   r4   r   r6   rG   boolr7   r7   r7   r8   r   ]   s   
r   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:   statusrC   ZtrailersN)
r2   r3   r4   r   r6   rH   r   r   rG   rL   r7   r7   r7   r8   r   c   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:   rJ   rK   N)r2   r3   r4   r   r6   rG   rL   r7   r7   r7   r8   r   j   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:   rC   Zmore_trailersN)	r2   r3   r4   r   r6   r   r   rG   rL   r7   r7   r7   r8   r   p   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:   r?   rC   N)	r2   r3   r4   r   r6   r5   r   r   rG   r7   r7   r7   r8   r   v   s   
r   c               @   s   e Zd ZU ed ed< dS )r   zhttp.disconnectr:   N)r2   r3   r4   r   r6   r7   r7   r7   r8   r   |   s   
r   c               @   s   e Zd ZU ed ed< dS )r   zwebsocket.connectr:   N)r2   r3   r4   r   r6   r7   r7   r7   r8   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subprotocolrC   N)
r2   r3   r4   r   r6   r   r5   r   r   rG   r7   r7   r7   r8   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:   rG   textN)r2   r3   r4   r   r6   r   rG   r5   r7   r7   r7   r8   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:   rG   rN   N)r2   r3   r4   r   r6   r   rG   r5   r7   r7   r7   r8   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:   rM   rC   N)	r2   r3   r4   r   r6   rH   r   r   rG   r7   r7   r7   r8   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:   rJ   rK   N)r2   r3   r4   r   r6   rG   rL   r7   r7   r7   r8   r       s   
r    c               @   s"   e Zd ZU ed ed< eed< dS )r!   zwebsocket.disconnectr:   codeN)r2   r3   r4   r   r6   rH   r7   r7   r7   r8   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:   rO   reasonN)r2   r3   r4   r   r6   rH   r   r5   r7   r7   r7   r8   r"      s   
r"   c               @   s   e Zd ZU ed ed< dS )r#   zlifespan.startupr:   N)r2   r3   r4   r   r6   r7   r7   r7   r8   r#      s   
r#   c               @   s   e Zd ZU ed ed< dS )r$   zlifespan.shutdownr:   N)r2   r3   r4   r   r6   r7   r7   r7   r8   r$      s   
r$   c               @   s   e Zd ZU ed ed< dS )r%   zlifespan.startup.completer:   N)r2   r3   r4   r   r6   r7   r7   r7   r8   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)r2   r3   r4   r   r6   r5   r7   r7   r7   r8   r&      s   
r&   c               @   s   e Zd ZU ed ed< dS )r'   zlifespan.shutdown.completer:   N)r2   r3   r4   r   r6   r7   r7   r7   r8   r'      s   
r'   c               @   s"   e Zd ZU ed ed< eed< dS )r(   zlifespan.shutdown.failedr:   rQ   N)r2   r3   r4   r   r6   r5   r7   r7   r7   r8   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 )Nr7   )selfrR   r7   r7   r8   __init__   s    zASGI2Protocol.__init__)receivesendrS   c                s   d S )Nr7   )rT   rV   rW   r7   r7   r8   __call__   s    zASGI2Protocol.__call__)r2   r3   r4   r   rU   r+   r,   rX   r7   r7   r7   r8   r-      s   r-   )2systypingr   r   r   r   r   r   r   r	   version_infor   r   r   Ztyping_extensions__all__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,   r-   r.   r/   r0   r7   r7   r7   r8   <module>   s   (
%
