-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
C-featureCategory: feature. This is adding a new feature.Category: feature. This is adding a new feature.
Description
Is your feature request related to a problem?
I need to parse raw HTTP/1.1 bytes from TLS transcripts (for TLSNotary/web proofs). hyper has robust parsing internals, but they're only accessible through the async connection layer. I can't use them for offline byte parsing.
Describe the solution you'd like
Expose a minimal parsing API (perhaps behind a feature flag):
use hyper::proto::h1::{ServerTransaction, Http1Transaction, ParseContext};
let parsed = ServerTransaction::parse(&mut bytes, ctx)?;
// Access: parsed.head.subject (method, uri), parsed.Already considered
- httparse directly — works but loses hyper's header normalization, keep-alive detection, chunked/content-length handling
- Fork hyper — currently doing this at vlayer-xyz/hyper, but maintenance burden
Additional context
Use case: TLSNotary and similar projects record TLS sessions via MPC. We need to parse the resulting HTTP transcript bytes to extract headers/body for verification, without re-implementing hyper's parsing logic.
Metadata
Metadata
Assignees
Labels
C-featureCategory: feature. This is adding a new feature.Category: feature. This is adding a new feature.