§
    !ß·i¦  ã                   óP   — d dl Z d dlmZ  G d„ d¦  «        Z G d„ de¦  «        ZdS )é    N)Úget_static_filec                   ó*   — e Zd ZdZ	 	 dd„Zd„ Zd„ ZdS )ÚWSGIAppa§  WSGI application middleware for Engine.IO.

    This middleware dispatches traffic to an Engine.IO application. It can
    also serve a list of static files to the client, or forward unrelated
    HTTP traffic to another WSGI application.

    :param engineio_app: The Engine.IO server. Must be an instance of the
                         ``engineio.Server`` class.
    :param wsgi_app: The WSGI app that receives all other traffic.
    :param static_files: A dictionary with static file mapping rules. See the
                         documentation for details on this argument.
    :param engineio_path: The endpoint where the Engine.IO application should
                          be installed. The default value is appropriate for
                          most cases.

    Example usage::

        import engineio
        import eventlet

        eio = engineio.Server()
        app = engineio.WSGIApp(eio, static_files={
            '/': {'content_type': 'text/html', 'filename': 'index.html'},
            '/index.html': {'content_type': 'text/html',
                            'filename': 'index.html'},
        })
        eventlet.wsgi.server(eventlet.listen(('', 8000)), app)
    Nú	engine.ioc                 óè   — || _         || _        || _        | j                             d¦  «        sd| j        z   | _        | j                             d¦  «        s| xj        dz  c_        |pi | _        d S )Nú/)Úengineio_appÚwsgi_appÚengineio_pathÚ
startswithÚendswithÚstatic_files)Úselfr	   r
   r   r   s        úX/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/engineio/middleware.pyÚ__init__zWSGIApp.__init__"   s‚   € à(ˆÔØ ˆŒØ*ˆÔØÔ!×,Ò,¨SÑ1Ô1ð 	:Ø!$ tÔ'9Ñ!9ˆDÔØÔ!×*Ò*¨3Ñ/Ô/ð 	&ØÐÔ #Ñ%ÐÔØ(Ð.¨BˆÔÐÐó    c                 ój  — d|v r! G d„ d¦  «        } ||d         ¦  «        |d<   |d         }|�5|                      | j        ¦  «        r| j                             ||¦  «        S | j        rt          || j        ¦  «        nd }|r~t          j                             |d         ¦  «        rY |dd|d	         fg¦  «         t          |d         d
¦  «        5 }| 
                    ¦   «         gcd d d ¦  «         S # 1 swxY w Y   n| j        �|                      ||¦  «        S |                      |¦  «        S )Nzgunicorn.socketc                   ó   — e Zd Zd„ Zd„ ZdS )úWSGIApp.__call__.<locals>.Inputc                 ó   — || _         d S ©N©Úsocket)r   r   s     r   r   z(WSGIApp.__call__.<locals>.Input.__init__6   s   € Ø"(�D”K�K�Kr   c                 ó   — | j         S r   r   )r   s    r   Ú
get_socketz*WSGIApp.__call__.<locals>.Input.get_socket9   s
   € Øœ;Ð&r   N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   ÚInputr   5   s2   € € € € € ð)ð )ð )ð'ð 'ð 'ð 'ð 'r   r    zeventlet.inputÚ	PATH_INFOÚfilenamez200 OKúContent-TypeÚcontent_typeÚrb)r   r   r	   Úhandle_requestr   r   ÚosÚpathÚexistsÚopenÚreadr
   Ú	not_found)r   ÚenvironÚstart_responser    r(   Ústatic_fileÚfs          r   Ú__call__zWSGIApp.__call__-   s°  € Ø Ð'Ð'ð'ð 'ð 'ð 'ð 'ñ 'ô 'ð 'ð ).¨¨gÐ6GÔ.HÑ(IÔ(IˆGÐ$Ñ%Ø�{Ô#ˆØÐ §¢°Ô0BÑ CÔ CÐØÔ$×3Ò3°G¸^ÑLÔLÐLð Ô$ð/�/¨$°Ô0AÑBÔBÐBØ*.ð àð >�rœwŸ~š~¨k¸*Ô.EÑFÔFð >Ø�ØØ$ k°.Ô&AÐBÐCñEô Eð Eõ ˜+ jÔ1°4Ñ8Ô8ð &¸AØŸFšF™HœH˜:ð&ð &ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &à”Ð*Ø—}’} W¨nÑ=Ô=Ð=Ø�~Š~˜nÑ-Ô-Ð-s   ÃC7Ã7C;Ã>C;c                 ó"   —  |ddg¦  «         dgS )Nz404 Not Found)r#   z
text/plains	   Not Foundr   )r   r.   s     r   r,   zWSGIApp.not_foundM   s    € Øˆ�Ð)GÐ(HÑIÔIÐIØˆ~Ðr   )NNr   )r   r   r   Ú__doc__r   r1   r,   r   r   r   r   r      s[   € € € € € ðð ð8 BFØ*ð	/ð 	/ð 	/ð 	/ð.ð .ð .ð@ð ð ð ð r   r   c                   ó(   ‡ — e Zd ZdZ	 	 dˆ fd„	Zˆ xZS )Ú
MiddlewarezAThis class has been renamed to ``WSGIApp`` and is now deprecated.Nr   c                 óP   •— t          ¦   «                              |||¬¦  «         d S )N)r   )Úsuperr   )r   r	   r
   r   Ú	__class__s       €r   r   zMiddleware.__init__T   s(   ø€ å‰Œ×Ò˜ x¸}ÐÑMÔMÐMÐMÐMr   )Nr   )r   r   r   r3   r   Ú__classcell__)r8   s   @r   r5   r5   R   sS   ø€ € € € € ØKÐKØ.2Ø*ðNð Nð Nð Nð Nð Nð Nð Nð Nð Nr   r5   )r'   Úengineio.static_filesr   r   r5   r   r   r   ú<module>r;      s�   ðØ 	€	€	€	Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ðJð Jð Jð Jð Jñ Jô Jð JðZNð Nð Nð Nð N�ñ Nô Nð Nð Nð Nr   