| __init__.py |
|
0 |
- |
| h3_wptserve_adapter.py |
HTTP/3 adapters for serving WPT resources through wptserve.
The WebSocket H3 server must serve more than WebSocket CONNECT streams: tests
also load HTML, JavaScript, CSS, Python handlers, and .sub. resources from the
same H3 origin. wptserve already knows how to route those requests and apply
the WPT response pipeline, but it expects HTTP/1-style request handler objects.
This module provides the small compatibility layer between aioquic HTTP/3
events and wptserve. It builds request/response wrapper objects for H3 streams
and writes wptserve responses back as HTTP/3 HEADERS and DATA frames.
|
7533 |
- |
| headers.py |
Header store that adapts HTTP/3 headers to pywebsocket3 expectations. |
1316 |
- |
| tests |
|
|
- |
| websocket_h3_server.py |
WebSocket over HTTP/3 server for WPT.
This is the main entry point for the WebSocket H3 server. It owns the QUIC
server lifecycle, creates the HTTP/3 connection object, dispatches incoming H3
events, handles Extended CONNECT requests for WebSocket streams, and serves
normal WPT resources over the same H3 port through wptserve adapters.
|
28832 |
- |
| websocket_h3_session.py |
Connects one WebSocket-over-H3 stream to a pywebsocket3 handler.
aioquic gives this server WebSocket data as HTTP/3 DATA events. pywebsocket3
expects to read and write data through a socket-like object. This file provides
the small request, connection, and session objects that translate between those
two APIs.
|
8125 |
- |
| ws_h3_handshake.py |
This file provides the opening handshake processor for Bootstrapping
WebSockets with HTTP/3 protocol (RFC 9220).
Specification:
https://datatracker.ietf.org/doc/html/rfc9220
|
2277 |
- |