Tasks completed: server-core-types, server-auth, server-healthz-decoy, gateway-dispatch, server-adapter (5 of 17). - src/server/state.rs: DecoyConfig + RouterState (alkcall type paths, 6-endpoint reserved-path docs) - src/server/auth.rs: bearer middleware + ResolvedIdentity extractor (10 tests: missing/malformed/basic/failed-resolution matrix) - src/server/healthz.rs + decoy.rs: raw healthz; nginx-style 404, static site (path-traversal guarded), redirect decoys - src/gateway/dispatch.rs: GatewayDispatch invoke/invoke_streaming (internal:false, forwarded_for:None, bounded deadline) + src/gateway/error.rs: CallError→HTTP status mapping (HTTP_<status> passthrough, retryable→Retry-After) - src/server/adapter.rs: HttpAdapter ProtocolHandler — accept_bi → BiStream → TokioIo → hyper auto builder (h2 CONNECT enabled); integration tests over DuplexStream (request/response cycle, healthz, decoy 404) Verified: cargo test (46 lib tests), clippy -D warnings, fmt, test --all-features.
12 lines
351 B
Rust
12 lines
351 B
Rust
//! alkhttp: HTTP interface for the alk stack — serves HTTP/1.1 + HTTP/2 on
|
|
//! standard ALPNs (with WebSocket upgrade carrying the channels protocol)
|
|
//! and hosts the HTTP-backed call-protocol adapters.
|
|
|
|
pub mod adapters;
|
|
pub mod client;
|
|
pub mod gateway;
|
|
pub mod server;
|
|
pub mod websocket;
|
|
|
|
pub use server::{decoy_fallback, healthz, DecoyConfig};
|