empower headers users in defining their own headers
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- backend-api-design
Research direction
Start by reviewing the crate's public typed-header API and the utilities named in the issue, including CSV parsing and HttpDate. Examine ContentType's construction limits and consider how externally defined headers or an unstable extension surface would fit. Done would require a decided scope and API design, followed by implementation and tests.
Written by the indexing model from the issue text.
Description
This crate comes with a lot of utilities which aren't available in public API space. This leads to people having to define their own utilities for very similar headers. In case this crate would be ok in adding a lot more (semi) std http headers that would be less of an issue, but AFAIK it is intended to keep this crate limited to the more popular ones and certainly not X- like headers, even though plenty of them are pretty standard.
With utilities I mean CSV parsing, HttpDate, etc...
I'm fine with this being behind an unstable feature or w/e, but right now you pretty much need to copy them out which is a lot harder to keep in sync then just having your code break with an update.
Similar, a lot headers that are supported here have also severe limitations in how they can be used, making it now always easy or even possible to use the typed headers due to these limitations. E.g. ContentType only has support for a couple of content-types to construct them with, just to give an example.
All in all this crate (headers) is fantastic, but I feel it is currently a lot more limited in how it can be used as well as externally extended.
- Dominant language
- Rust
- Stars
- 200
- Forks
- 107
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from hyperium/headers
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
Difficulty 3/5 1-2 days Newbie friendliness 78/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Link support Open
Difficulty 4/5 3-5 days Newbie friendliness 38/100
All issues in hyperium/headers
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
issue
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
web-infra-dev/rspack#15847 ·