U
    W+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   spec_versionz2.0z3.0versionN)__name__
__module____qualname__str__annotations__r	   r    r8   r8   2/tmp/pip-unpacked-wheel-8hpab26t/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r3   r4   r5   r   r7   r   r6   bytesr   r   r   intr   objectr8   r8   r8   r9   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@   rA   rB   rC   rD   rE   rF   ZsubprotocolsrG   NrH   r8   r8   r8   r9   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)r3   r4   r5   r   r7   r   r8   r8   r8   r9   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r3   r4   r5   r   r7   rI   boolr8   r8   r8   r9   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;   statusrD   ZtrailersN)
r3   r4   r5   r   r7   rJ   r   r   rI   rO   r8   r8   r8   r9   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;   rL   rM   NrN   r8   r8   r8   r9   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;   rD   Zmore_trailersN)	r3   r4   r5   r   r7   r   r   rI   rO   r8   r8   r8   r9   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@   rD   N)	r3   r4   r5   r   r7   r6   r   r   rI   r8   r8   r8   r9   r   v   s   
r   c                   @   s   e Zd ZU ed ed< dS )r   zhttp.disconnectr;   Nr3   r4   r5   r   r7   r8   r8   r8   r9   r   |   s   
r   c                   @   s   e Zd ZU ed ed< dS )r   zwebsocket.connectr;   NrQ   r8   r8   r8   r9   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subprotocolrD   N)
r3   r4   r5   r   r7   r   r6   r   r   rI   r8   r8   r8   r9   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;   rI   textNr3   r4   r5   r   r7   r   rI   r6   r8   r8   r8   r9   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;   rI   rR   NrS   r8   r8   r8   r9   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;   rP   rD   N)	r3   r4   r5   r   r7   rJ   r   r   rI   r8   r8   r8   r9   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;   rL   rM   NrN   r8   r8   r8   r9   r       s   
r    c                   @   s"   e Zd ZU ed ed< eed< dS )r!   zwebsocket.disconnectr;   codeN)r3   r4   r5   r   r7   rJ   r8   r8   r8   r9   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;   rT   reasonN)r3   r4   r5   r   r7   rJ   r   r6   r8   r8   r8   r9   r"      s   
r"   c                   @   s   e Zd ZU ed ed< dS )r#   zlifespan.startupr;   NrQ   r8   r8   r8   r9   r#      s   
r#   c                   @   s   e Zd ZU ed ed< dS )r$   zlifespan.shutdownr;   NrQ   r8   r8   r8   r9   r$      s   
r$   c                   @   s   e Zd ZU ed ed< dS )r%   zlifespan.startup.completer;   NrQ   r8   r8   r8   r9   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r3   r4   r5   r   r7   r6   r8   r8   r8   r9   r&      s   
r&   c                   @   s   e Zd ZU ed ed< dS )r'   zlifespan.shutdown.completer;   NrQ   r8   r8   r8   r9   r'      s   
r'   c                   @   s"   e Zd ZU ed ed< eed< dS )r(   zlifespan.shutdown.failedr;   rV   NrW   r8   r8   r8   r9   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 Nr8   )selfrX   r8   r8   r9   __init__   s    zASGI2Protocol.__init__)receivesendrY   c                    s   d S rZ   r8   )r[   r]   r^   r8   r8   r9   __call__   s    zASGI2Protocol.__call__)r3   r4   r5   r   r\   r+   r,   r_   r8   r8   r8   r9   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   r8   r8   r8   r9   <module>   s   (
&
