feat(http): implement HttpAdapter (ProtocolHandler for h2/http1.1, axum over QUIC)
Wires the axum Router (gateway endpoints + /healthz + /openapi.json + MCP + custom routes via extra_routes merge ADR-046) and drives hyper's HTTP/1.1 or HTTP/2 connection driver over a single QUIC bidirectional stream. The QUIC-to-hyper bridge wraps the (SendStream, RecvStream) pair as a TokioIo-compatible duplex and feeds it to hyper-util's auto Builder (which auto-detects HTTP/1.1 vs HTTP/2). h3 ALPN is not registered (ADR-044). Route handlers, healthz/decoy logic, openapi.json, the MCP route, and the WS upgrade handler are wired as 501 Not Implemented placeholders for their respective tasks. The router state holds Arc<OperationRegistry> + Arc<dyn IdentityProvider>; the router is built once at construction and cloned per connection (cheap Arc clone). DecoyConfig defaults to NotFound. Adds hyper-util dependency (server, service, tokio features).
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -112,6 +112,7 @@ dependencies = [
|
||||
"http",
|
||||
"httpdate",
|
||||
"hyper",
|
||||
"hyper-util",
|
||||
"openapiv3",
|
||||
"reqwest 0.13.4",
|
||||
"reqwest-middleware",
|
||||
|
||||
Reference in New Issue
Block a user