Expand description
QDP-over-HTTP — serve the rich /.well-known/QDP profile over a local HTTP listener.
This is the transport that fronts the pure crate::qdp_server renderer: once a domain-agent is
reachable on the WireGuard mesh (or any bound address), it can self-host its own front-door
profile instead of relying on external hosting (Cloudflare Worker/R2, Solid POD). No hosting
provider, no lock-in — the agent answers GET /.well-known/QDP from its own process.
The routing decision (route) is pure and testable without binding a socket: it maps
(method, path, accept) to an HttpReply. Only serve_blocking touches the network, and it
is a thin tiny_http accept loop that delegates every request to route.
Content negotiation itself is delegated to crate::qdp_server::render_profile (Turtle / JSON-LD /
CBOR-LD per the Accept header), so this module never duplicates the serialization logic.
Structs§
- Http
Reply - A fully-resolved HTTP reply: status code,
Content-Type, and the body bytes.
Functions§
- route
- Route one HTTP request against a
FrontDoorRecord— pure, no I/O. - serve_
blocking - Serve the QDP profile for
recordonbind_addr(e.g."[fd00::1]:80"on the mesh, or"127.0.0.1:8080"locally). Blocks the calling thread on the accept loop — the caller is expected to run this on a dedicated thread.