tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

handler.py (2337B)


      1 from typing import List, Optional, Tuple
      2 
      3 from .webtransport_h3_server import WebTransportSession
      4 
      5 # This file exists for documentation purpose.
      6 
      7 
      8 def connect_received(request_headers: List[Tuple[bytes, bytes]],
      9                     response_headers: List[Tuple[bytes, bytes]]) -> None:
     10    """
     11    Called whenever an extended CONNECT method is received.
     12 
     13    :param request_headers: The request headers received from the peer.
     14    :param response_headers: The response headers which will be sent to the peer. ``:status`` is set
     15                             to 200 when it isn't specified.
     16    """
     17    pass
     18 
     19 
     20 def session_established(session: WebTransportSession) -> None:
     21    """
     22    Called whenever an WebTransport session is established.
     23 
     24    :param session: A WebTransport session object.
     25    """
     26 
     27 
     28 def stream_data_received(session: WebTransportSession, stream_id: int,
     29                         data: bytes, stream_ended: bool) -> None:
     30    """
     31    Called whenever data is received on a WebTransport stream.
     32 
     33    :param session: A WebTransport session object.
     34    :param stream_id: The ID of the stream.
     35    :param data: The received data.
     36    :param stream_ended: Whether the stream is ended.
     37    """
     38    pass
     39 
     40 
     41 def datagram_received(session: WebTransportSession, data: bytes) -> None:
     42    """
     43    Called whenever a datagram is received on a WebTransport session.
     44 
     45    :param session: A WebTransport session object.
     46    :param data: The received data.
     47    """
     48    pass
     49 
     50 
     51 def session_closed(session: WebTransportSession,
     52                   close_info: Optional[Tuple[int, bytes]],
     53                   abruptly: bool) -> None:
     54    """
     55    Called when a WebTransport session is closed.
     56 
     57    :param session: A WebTransport session.
     58    :param close_info: The code and reason attached to the
     59                       CLOSE_WEBTRANSPORT_SESSION capsule.
     60    :param abruptly: True when the session is closed forcibly
     61                     (by a CLOSE_CONNECTION QUIC frame for example).
     62    """
     63    pass
     64 
     65 
     66 def stream_reset(session: WebTransportSession,
     67                 stream_id: int,
     68                 error_code: int) -> None:
     69    """
     70    Called when a stream is reset with RESET_STREAM.
     71 
     72    :param session: A WebTransport session.
     73    :param stream_id: The ID of the stream.
     74    :param error_code: The reason of the reset.
     75    """
     76    pass