{
  "$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"
}