U
    e^                     @   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rd 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   spec_versionz2.0z3.0versionN)__name__
__module____qualname__str__annotations__r
   r    r;   r;   2/tmp/pip-unpacked-wheel-751dto2k/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r6   r7   r8   r   r:   r   r9   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@   rB   rC   rD   rE   rF   rG   rH   rI   ZsubprotocolsrJ   rK   NrL   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?   rJ   N)
r6   r7   r8   r   r:   r   r   r   r9   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r6   r7   r8   r   r:   rM   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)r6   r7   r8   r   r:   r   r9   rO   r;   r;   r;   r<   rT   u   s   
rT   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>   statusrG   ZtrailersN)
r6   r7   r8   r   r:   rN   r   r   rM   rS   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>   rP   rQ   NrR   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>   rG   Zmore_trailersN)	r6   r7   r8   r   r:   r   r   rM   rS   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>   rC   rG   N)	r6   r7   r8   r   r:   r9   r   r   rM   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r6   r7   r8   r   r:   r;   r;   r;   r<   r      s   
r   c                   @   s   e Zd ZU ed ed< dS )r   zwebsocket.connectr>   NrW   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subprotocolrG   N)
r6   r7   r8   r   r:   r   r9   r   r   rM   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>   rM   textNr6   r7   r8   r   r:   r   rM   r9   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>   rM   rX   NrY   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>   rV   rG   N)	r6   r7   r8   r   r:   rN   r   r   rM   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>   rP   rQ   NrR   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)r6   r7   r8   r   r:   rN   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>   rZ   reasonN)r6   r7   r8   r   r:   rN   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.startupr>   NrW   r;   r;   r;   r<   r&      s   
r&   c                   @   s   e Zd ZU ed ed< dS )r'   zlifespan.shutdownr>   NrW   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>   NrW   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r6   r7   r8   r   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.shutdown.completer>   NrW   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>   r\   Nr]   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;   )selfr^   r;   r;   r<   __init__   s    zASGI2Protocol.__init__)receivesendr_   c                    s   d S r`   r;   )ra   rc   rd   r;   r;   r<   __call__  s    zASGI2Protocol.__call__)r6   r7   r8   r   rb   r.   r/   re   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   rT   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   ,

&
