Skip to content

feat: expose HTTP/1.1 parsing API for raw byte parsing #3990

@AdamDawidKrol

Description

@AdamDawidKrol

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

No one assigned

    Labels

    C-featureCategory: feature. This is adding a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions