hyper (Rust)

Low-level HTTP/1.1 and HTTP/2 implementation for Rust built on Tokio. Hyper is the foundation for most Rust HTTP tooling — reqwest uses hyper as its HTTP engine, and axum is built on hyper. Provides both server and client HTTP implementations with full protocol correctness and high performance. Use hyper directly when you need maximum control over HTTP handling; use axum or reqwest for ergonomic abstractions.

Evaluated Mar 06, 2026 (0d ago) v1.x
Homepage ↗ Repo ↗ Developer Tools rust http http2 client server async tokio low-level open-source
⚙ Agent Friendliness
65
/ 100
Can an agent use this?
🔒 Security
86
/ 100
Is it safe for agents?
⚡ Reliability
81
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
78
Error Messages
78
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
88
Auth Strength
85
Scope Granularity
85
Dep. Hygiene
90
Secret Handling
85

No TLS built-in — requires explicit hyper-rustls or hyper-tls. Memory safety guaranteed by Rust. Protocol correctness is very high — hyper passes HTTP conformance tests. HTTP/2 HPACK implementation is audited.

⚡ Reliability

Uptime/SLA
88
Version Stability
80
Breaking Changes
72
Error Recovery
85
AF Security Reliability

Best When

You're building infrastructure-level HTTP tooling (proxies, gateways, custom protocols) where you need full control over the HTTP layer.

Avoid When

You're building application services — axum, actix-web, or reqwest are far more ergonomic for typical use cases.

Use Cases

  • Build custom HTTP servers with fine-grained control over request handling, streaming, and connection management
  • Implement HTTP reverse proxies, load balancers, or middleware that need direct HTTP/1.1 and HTTP/2 access
  • Use as the HTTP engine underlying higher-level libraries like reqwest (client) or axum (server)
  • Handle HTTP streaming (chunked transfer, server-sent events) with full protocol control
  • Build HTTP clients with custom connection pooling, redirect policies, or protocol behavior

Not For

  • Application-level web services — use axum or actix-web which provide routing, extractors, and middleware
  • Simple HTTP requests — use reqwest which wraps hyper with ergonomic API and TLS by default
  • Non-Rust applications — hyper is Rust-only

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

Library with no auth — auth at HTTP level is application responsibility.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

Free and open source, maintained by Sean McArthur and community.

Agent Metadata

Pagination
none
Idempotent
Full
Retry Guidance
Not documented

Known Gotchas

  • hyper 1.x broke API compatibility with 0.14 significantly — many tutorials and examples use 0.14 API; check version before following examples
  • hyper requires an executor (Tokio) — it must be called from within a Tokio runtime; use #[tokio::main] or tokio::runtime::Runtime explicitly
  • Body types are generic and use http_body::Body trait — composing bodies requires understanding the trait, not just Vec<u8> or String
  • TLS is NOT included in hyper — use hyper-tls or hyper-rustls crates for HTTPS; hyper handles raw HTTP only
  • Connection upgrade (WebSockets, HTTP/2 upgrade) requires manual implementation using hyper's upgrade() mechanism — not automatic
  • Server-side hyper requires implementing a Service trait for request handling — the ergonomic abstractions (routing, extractors) are in axum, not hyper itself

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for hyper (Rust).

$99

Scores are editorial opinions as of 2026-03-06.

5208
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered