Fix URI, Request target terminology.
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.4k
- Forks
- 378
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 5
Description
As this crate stands for correctness, it is imperative to fix misleading terminology that is used through out the request-target handling documentation.
- Use
HttpRequestTargetinstead ofUri, as it really handles only request target forms, not identity scheme in any way. This may be difficult, noting it is a breaking change. Can alias and deprecate though. - In documentation of current
Uristruct, There is extensive use ofabsolute-uri/relative-uridichotomy to show that, forabsolute-uriit hasport,scheme, etc, and forrelative-uriit won't. This is grossly misleading. As this crate is not handling identifiers in the first place, there is no such thing asabsolute-uri/relative-uridichotomy. It is instead dichotomy ofabsolute-form/origin-formof request target. i.e, request-target inabsolute-formencodes port, scheme etc, and that inorigin-formdoesn't, as they have to be runtime-resolved. That's also the reason the mis-termedrelative-uris starts with a/, as they are not really identifiers, relative/absolute, butorigin-formresource targets.
The second point of fixing documentation may not be breaking change, and possible i hope.
We can see many misunderstandings due to this misleading. for example
- #127, As These are not identifiers, but representation of request-target values, there is no uri, and thus no fragments in first place.
- #465 Same mis-issue of using request-target representation to represent identifiers
- #469 They even mention other uri-schemes in issue discription, and also quotes uri-standard. Same mis-issue.
- #396 ,
urlcrate is for identifiers, where as this one only deals with request-targets. - #379 same issue. This crate doesn't handles uris in first place. only request targets.
- #342
- #311
- #323
- #421
- #306
- #176
- #110
so on, so forth.
For amount of confusion, ad misleading it creates, It may be helpful to fix at least terminology in docs, and fix Uri name for struct before 1.0
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.
Research direction
Start with the crate's current Uri struct and request-target handling documentation, then review the related issues listed in the report. Done means the terminology consistently describes request-target forms and the public naming change has an explicit compatibility decision before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend-api-design, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100