http

The shared Rust crate defining Request, Response, and other core HTTP types

Library
Cargo
v1.5.0
1,373stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
78/100Good
Development Activity72
Maintenance52
Community88
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
77/100Good
Architecture85
Code Quality88
Innovation70
Learning Curve65

http is a foundational Rust crate providing the shared Request, Response, Method, StatusCode, Uri, Version, and HeaderMap types that most of the Rust HTTP ecosystem — hyper, tonic, axum, reqwest, tower, and many others — builds on top of. Rather than each HTTP-adjacent crate defining its own incompatible request/response representations, they all depend on http so values can move between a client, a server, and any middleware in between without conversion glue.

The crate intentionally contains no networking, parsing, or I/O code of its own; it exists purely to standardize the vocabulary types that HTTP-related crates pass to each other, with an optimized HeaderMap implementation as its most substantial piece of internal logic.

What You Get

  • Request<T> and Response<T> generic types with ergonomic builder APIs for constructing HTTP messages
  • HeaderMap - a purpose-built multi-map optimized for HTTP header storage and case-insensitive lookup
  • Method, StatusCode, Uri, and Version types shared across the entire Rust HTTP ecosystem
  • Zero-copy-friendly HeaderName/HeaderValue types backed by bytes::Bytes
  • Conversion trait implementations (convert.rs) so common std types interoperate cleanly with the crate’s types

Common Use Cases

  • Defining the request/response types passed between a client and server built on hyper, tonic, or axum
  • Writing HTTP middleware (a tower::Layer) that needs to inspect or modify headers, method, or status without depending on any particular server implementation
  • Implementing a new HTTP client or server that wants to interoperate with the existing hyper-ecosystem tooling out of the box
  • Building an HTTP proxy or gateway that manipulates requests/responses using a common, well-tested type vocabulary

Under The Hood

Architecture Across roughly 14,500 lines, the crate is organized around independent, focused modules — request.rs and response.rs define the generic Request<T>/Response<T> builder types, header/ implements the HeaderMap/HeaderName/HeaderValue trio as its own self-contained sub-module, and method.rs, status.rs, version.rs, uri/ each own one small, well-scoped vocabulary type — reflecting the crate’s deliberate scope discipline of shipping types and nothing else. Tech Stack Depends on bytes for zero-copy byte storage in header values and little else, keeping the dependency graph shallow since this crate sits at the base of the dependency tree for a large share of the Rust HTTP ecosystem (hyper, axum, tonic, reqwest, tower). Code Quality tests/header_map.rs and tests/header_map_fuzz.rs reflect that HeaderMap — the crate’s most algorithmically complex piece, since it’s a custom hash-map variant tuned for HTTP header access patterns — receives targeted fuzz testing in addition to conventional unit tests, appropriate rigor for a type this deeply relied upon. API Design The builder pattern on Request/Response (Request::builder().method(...).uri(...).body(...)) is now the de facto idiom across the Rust HTTP ecosystem precisely because this crate established it first, and extensive From/TryFrom conversions in convert.rs mean callers rarely need explicit type-conversion boilerplate at API boundaries.

Used by 18 apps in this directory

Rust
64%
Apache 2.0

agentgateway

AI Development · Developer Tools

4,420

An open source AI-native proxy that secures, observes, and governs agent-to-LLM, agent-to-tool, and agent-to-agent communication through MCP, A2A, and unified LLM routing.

View details
88
Repo Health
82
Technical
72
Dependency
Built with
Rust64%
Go24%
Updated yesterday
TypeScript
51%
MIT

Anarlog

Note Taking · AI Assistants · Productivity

9,087

Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.

View details
86
Repo Health
77
Technical
69
Dependency
Built with
TypeScript51%
Rust38%
Updated today
Rust
87%
MIT

fabro

Developer Tools · Devops

1,516

Define AI agent workflows as code graphs, route tasks across any LLM, and intervene only where it matters.

View details
81
Repo Health
83
Technical
70
Dependency
Built with
Rust87%
TypeScript11%
Updated yesterday
Python
80%
Apache 2.0

headroom

AI Development · Developer Tools

66,835

Compress everything your AI agent reads — tool outputs, logs, RAG chunks, and files — before it reaches the LLM, achieving 60–95% fewer tokens with the same answers.

View details
84
Repo Health
86
Technical
73
Dependency
Built with
Python80%
Rust14%
Updated today
Rust
50%
Other

hoodik

File Storage · Security

1,446

Self-hosted, end-to-end encrypted cloud storage with browser-based encryption and S3-compatible storage support

View details
74
Repo Health
71
Technical
65
Dependency
Built with
Rust50%
TypeScript33%
Vue15%
Updated 4 days ago
Rust
41%
Other

Hook0

Devops

1,477

Open-source Webhooks-as-a-Service: deliver events to your users with auto-retry, signed payloads, and a real-time subscriber dashboard — all without building the infrastructure yourself.

View details
83
Repo Health
82
Technical
70
Dependency
Built with
Rust41%
TypeScript17%
JavaScript15%
Updated today
TypeScript
67%
MIT

Hoppscotch

Developer Tools

80,055

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
66
Dependency
Built with
TypeScript67%
Vue23%
Updated 3 days ago
Rust
47%
MIT

Kuku

Note Taking

204

A local-first, open-source Markdown knowledge workspace for macOS — plain files, personal wiki and Second Brain workflows, AI-assisted diffs, and encrypted sync, built as an Obsidian alternative.

View details
73
Repo Health
67
Technical
68
Dependency
Built with
Rust47%
TypeScript40%
Updated 1 months ago
Rust
36%
Apache 2.0

LanceDB

Databases · AI Development

11,190

Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).

View details
90
Repo Health
86
Technical
72
Dependency
Built with
Rust36%
HTML30%
Python26%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search