tree: e0f11a7fe02cafa0beaa86916f4320e408e1dcaf [path history] [tgz]
  1. certs/
  2. __init__.py
  3. commands.json
  4. quic_transport_server.py
  5. README.md
  6. requirements.txt
  7. serve.py
  8. w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/tools/quic/README.md

This directory contains QUIC related tools.

QuicTransport

quic_transport_server.py implements a simple QuicTransport server for testing. It uses aioquic, and test authors can implement custom handlers by putting python scripts in wpt/webtransport/quic/handlers/.

Custom Handlers

The QuicTransportServer calls functions defined in each handler script.

  • handle_client_indication is called during the client indication process. This function is called with three arguments:

    • connection: aioquic.asyncio.QuicConnectionProtocol
    • origin: str The origin of the initiator.
    • query: Dict[str, str] The dictionary of query parameters of the URL of the connection.

    A handler can abort the client indication process either by raising an exception or closing the connection.

  • handle_event is called when a QuicEvent arrives.

    • connection: aioquic.asyncio.QuicConnectionProtocol
    • event: aioquic.quic.events.QuicEvent

    This function is not called until the client indication process finishes successfully.