hyperium / hyperium/hyper

Option to allow leading whitespace in first HTTP/1 response header

Open
#3,285 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-client A-http1 B-upstream C-feature E-easy
Dominant language
Rust
Stars
16.3k
Forks
1.8k
Avg merge
1d 22h
Merged PRs (30d)
14

Description

Version
current git master

Platform
Linux

Description
hyper rejects HTTP responses where the first header has leading whitespace. This is spec compliant.

The popular browsers accept such headers and therefore we are now converting curl to (again) also allow them (in https://github.com/curl/curl/pull/11607).

hyper's current behavior prevents it from getting content other widely used HTTP clients can fetch. Do you think that is perhaps reason to reconsider this stance and allow this violation? It would make life in curl easier as right now curl+hyper builds have different behavior than curl with its native HTTP implementation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review hyper's HTTP/1 response-header parsing and the existing handling of leading whitespace. Compare the behavior with the stated compatibility requirement and HTTP expectations, then identify or add coverage showing that a response with leading whitespace is accepted or rejected as intended.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.