caddyhttp: Consistent URI-decoded (unescaped) form
This branch resolves inconsistencies (and thus, bugs) across Caddy's HTTP facilities regarding URI encodings in paths.
Related issues:
- fixes #4801
- fixes #4923
- fixes #4743
(There might be others I haven't identified yet.)
Will update this post with more details and summary soon
This branch is still a WIP.
Very well reasoned, but I think this is something that you'll never regret not merging, and that you may very well regret putting into the codebase for a use case that is much more art (abusing constraints) than software engineering.
@coolaj86 Hiya! (I know I just replied on Twitter, but)
I disagree with the part about abusing constraints, but I do think you could be right. This is not my favorite change, but it doesn't violate any standards (and in fact it is perhaps more conforming in some ways than other implementations) and it provides an elegant solution to otherwise hacky or non-compliant alternatives.
Unless I have overlooked some significant problem with this approach, I do think it's well-engineered. In some ways it gives Caddy another competitive technical advantage.
But yes, I do hope I don't regret this. 😅
YOLO!