iroh-http-core
Rust core for iroh-http — peer-to-peer HTTP over Iroh QUIC transport.
This crate provides the transport layer: an Iroh endpoint, fetch() for outgoing requests, and serve() for incoming requests. It speaks HTTP/1.1 framing over QUIC bidirectional streams. Nodes are addressed by Ed25519 public key — no DNS, no TLS certificates.
Note: This is a low-level FFI-bridge crate. If you are building an application, you probably want one of the higher-level adapters instead:
- Node.js →
@momics/iroh-http-node- Deno →
@momics/iroh-http-deno- Tauri →
@momics/iroh-http-tauri
Usage
use ;
async
Features
- Connection reuse — QUIC connections to the same peer are pooled and multiplexed
- Streaming bodies — request and response bodies stream through
mpscchannels with configurable backpressure - Fetch cancellation — abort in-flight requests via cancellation tokens
- Bidirectional streams — full-duplex streaming via QUIC bidi streams
- Trailer support — HTTP/1.1 chunked trailers for streaming metadata
- Configurable — idle timeout, concurrency limits, channel capacity, chunk sizes
- Optional compression — zstd request/response compression via the
compressionfeature (enabled by default)
License
MIT OR Apache-2.0