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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   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   ,

%
