hyper-native-tls

native-tls-backed HTTPS support for the legacy Hyper 0.10 HTTP client and server in Rust.

Library
Cargo
v0.3.0
36stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
28/100Needs Attention
Development Activity0
Maintenance20
Community20
Maturity60
Momentum12

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
72/100Good
Architecture74
Code Quality72
Innovation60
Learning Curve82

hyper-native-tls is a Rust crate that wires the native-tls library into the legacy Hyper 0.10 HTTP stack, giving that generation of Hyper HTTPS client and server support backed by the operating system’s own TLS implementation (SChannel on Windows, Secure Transport on macOS, OpenSSL on Linux).

It provides ready-made TLS connector and acceptor types that plug into Hyper 0.10’s networking traits, so applications built on that release can make and accept encrypted connections without hand-rolling a TLS layer. Note that it targets the synchronous Hyper 0.10 release and does not support the later Tokio-based Hyper 0.11+.

What You Get

  • A native-tls-backed TLS connector for Hyper 0.10 HTTPS clients
  • A server-side SSL type for accepting encrypted connections
  • Reliance on the operating system’s native TLS stack (SChannel, Secure Transport, OpenSSL)
  • Drop-in integration with Hyper 0.10’s networking traits
  • Dual MIT / Apache-2.0 licensing

Common Use Cases

  • Adding HTTPS to an existing application still on the synchronous Hyper 0.10 client
  • Accepting TLS connections in a Hyper 0.10 based server
  • Maintaining legacy Rust services that predate the Tokio-based Hyper releases

Under The Hood

Architecture - The crate is a single ~300-line module (src/lib.rs) that wraps native-tls’s TlsConnector and TlsAcceptor to implement Hyper 0.10’s SslClient and SslServer traits. It exposes NativeTlsClient and NativeTlsServer types that Hyper’s client/server accept for their networking layer, delegating handshake and stream wrapping to native-tls.

Tech Stack - Rust, depending on native-tls 0.2 (the actual TLS engine), hyper 0.10 (the target HTTP stack), and antidote 1.0 for poison-free mutex wrappers. There is no async runtime; it matches Hyper 0.10’s synchronous, thread-per-connection model.

Code Quality - A small, single-file crate with a companion test directory. The scope is deliberately narrow, so the surface area is easy to audit, though the project is effectively in maintenance-only status (last release 2018, last commit 2020) tied to a Hyper version that has since been superseded.

API Design - The public API is minimal and idiomatic for its era: construct a NativeTlsClient or NativeTlsServer and hand it to Hyper. Because it implements Hyper 0.10’s own SSL traits, integration is a drop-in with no bespoke glue, at the cost of being locked to that legacy release.

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