
    0j                         d Z ddlmZmZmZmZmZ ed         Z G d de          Z G d de          Z	 G d d	e          Z
e G d
 de                      ZdS )z[
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License.
    )DictLiteralProtocol	TypedDictruntime_checkablePOSTc                   D    e Zd ZU eeef         ed<   eeef         ed<   dS )HttpRequestbodyheadersN)__name__
__module____qualname__r   strobject__annotations__     i/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/microsoft_teams/apps/http/adapter.pyr
   r
      s;         
sF{
#s(^r   r
   c                   $    e Zd ZU eed<   eed<   dS )HttpResponsestatusr   N)r   r   r   intr   r   r   r   r   r   r      s"         KKK
LLLLLr   r   c                       e Zd ZdedefdZdS )HttpRouteHandlerrequestreturnc                 
   K   d S )Nr   )selfr   s     r   __call__zHttpRouteHandler.__call__   
        r   N)r   r   r   r
   r   r    r   r   r   r   r      s&        GkGlGGGGGGr   r   c                   V    e Zd ZdZdedededdfdZdededdfd	Zd
e	ddfdZ
ddZdS )HttpServerAdaptera;  Protocol for framework-specific HTTP server adapters.

    Implement this adapter to plug in any HTTP framework (FastAPI, Starlette, Flask, etc.).
    The SDK calls these methods with framework-agnostic ``HttpRequest``/``HttpResponse``
    objects so the adapter can translate to/from the underlying framework.
    methodpathhandlerr   Nc                     dS )z#Register a route handler. Required.Nr   )r   r$   r%   r&   s       r   register_routez HttpServerAdapter.register_route"   s    r   	directoryc                     dS )uC   Serve static files from a directory. Optional — no-op by default.Nr   )r   r%   r)   s      r   serve_staticzHttpServerAdapter.serve_static&   s      r   portc                 $   K   t          d          )u9   Start the server. Optional — raises if not implemented.zRThis adapter does not support managed server lifecycle. Start the server yourself.)NotImplementedError)r   r,   s     r   startzHttpServerAdapter.start)   s      !"vwwwr   c                 
   K   dS )u/   Stop the server. Optional — no-op by default.Nr   )r   s    r   stopzHttpServerAdapter.stop-   r!   r   )r   N)r   r   r   __doc__
HttpMethodr   r   r(   r+   r   r/   r1   r   r   r   r#   r#      s         Z s EU Z^    R R R R R R Rx x x x x x> > > > > >r   r#   N)r2   typingr   r   r   r   r   r3   r
   r   r   r#   r   r   r   <module>r5      s   
 I H H H H H H H H H H H H HV_
    )   
    9   
H H H H Hx H H H > > > > > > > > > >r   