Skip to content

Typed Headers? #264

Open
Open
@seanmonstar

Description

@seanmonstar

Work has been progressing on a typed headers system to replace what hyper had prior to v0.12. Some questions arise as to where this stuff should "live".

  • @ashleygwilliams is owner of the headers crate name, and has agreed to transfering the name if we wish to use it for this.
  • @carllerche is the owner of the http-headers crate name, and has suggested we could publish there, as the name headers might be too vague.
  • We could include them directly in http.
    • It's certainly tempting to be able to use them directly, like let conlen = http::header::ContentLength(450);, and perhaps it should be the eventual goal.
    • However, I believe the typed headers are less stable than the core HTTP types. The goal of http was to have a stable crate that the ecosystem can use to be "generic" over HTTP implementations. Therefore, breaking changes must be exceptional. I have taken much effort to reduce the exposed surface area in the new crate API, specifically to reduce the need for breaking changes. Still, I would have to have missed something and be stuck with it.
    • It's been suggested that the current http API could be moved to http-core and re-exported, and have the stability be stronger on http-core than http.

See also #136.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-headersArea: HTTP headersB-rfcBlocked: request for comments. More discussion would help move this along.S-featureSeverity: feature. This adds something new.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions