-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unnecessary url encoding of some query parameters characters #74
Comments
Is someone working on it?
is always url encoded by http-types into
So either not url encode ":" and "+", or explicitly say what to encode, like data QueryElement = QE BS.ByteString -- encode string
| QN BS.ByteString -- do not encode
[QE "a", QN "+", QS "created", QN "+", QS "2012-12-07..2012-12-17", QN "+", ..] Would you accept a PR that adds new functions, that use |
I'm not keen on changing the behavior of existing functions, just the other day I needed to revert a change changing an encoding in a theoretically valid way because it broke some URL signing. However, I'd be happy to accept a PR adding new functions. Even just a function renderQueryBuilderMinimalEscape would be fine, I guess. Your approach allowing explicit unescaped segments would also be acceptable. (And to answer your first question, I know of nobody actively working on this.) |
I think the set of special symbols not url encoded in query parameters can be expanded from
with
e.g ":", "@", "/" (extra pchar values) and sub-delims without "?" (query component delimiter) and "&;=+" (form url encoding sub component delimiters).
This is based on the query ABNF in RFC 3986 Appendix A. Appropriate sections below
and RFC 3986 Section 2.4: When to Encode or Decode quoted in part below
But do check my working and I can send over a PR if you agree.
The text was updated successfully, but these errors were encountered: