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).
11 lines
404 B
Rust
11 lines
404 B
Rust
//! HTTP server: `HttpAdapter`, axum-over-QUIC, gateway routes, `/healthz`,
|
|
//! decoy, and custom routes.
|
|
//!
|
|
//! Implements `alknet_core::types::ProtocolHandler` for the standard HTTP
|
|
//! ALPNs (`h2`, `http/1.1`) with WebSocket upgrade for browser
|
|
//! bidirectional access (ADR-044). See
|
|
//! `docs/architecture/crates/http/http-server.md`.
|
|
|
|
pub mod adapter;
|
|
|
|
pub use adapter::{DecoyConfig, HttpAdapter}; |