{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreib7rl6jyazygswn3lkniwqg366c5e726l24pdp2c572s7xdlqvcqe",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3molkq5jkgt32"
},
"path": "/t/rfc-http-types-breakage-additions-rework/14286#post_6",
"publishedAt": "2026-06-18T18:48:09.000Z",
"site": "https://discourse.haskell.org",
"textContent": "viktor:\n\n> While an application that is strictly conformant with the HTTP specifications must abide by the rules, the same is not necessarily true when parsing response headers from a less meticulously implemented peer.\n\nWhich means there are two different concepts here:\n\n * List of raw headers as provided in the HTTP request;\n\n * Library-augmented set of headers served to the user at the high level.\n\n\n\n\nShould the latter be in `http-types`, `wai` or somewhere else? Couldn’t tell you.\n\nVlix:\n\n> There’s a bunch of type synonyms instead of newtypes, and all of the data constructors and fields of data types are exported.\n\nI wouldn’t be surprised if `http-types` is the only package using `case-insensitive`, everyone downstream is forced to include it just to work with header names.",
"title": "[RFC] \"http-types\" breakage / additions / rework"
}