Closed misiek08 closed 1 year ago
I'm afraid that this is intended behavior. When you call uri.QueryArgs()
it returns an object you can use to modify the query params. When you then call uri.RequestURI()
it re-builds the query params and re-encodes all the values. When re-encoding the values it changes =
in the value to %3D
as is expected (net/url
also does this).
Wow, I tried adding params and URL.Encode()
is encoding them too. Thanks and I'm sorry I didn't go through net/url
deep enough. So we will need to force workaround on backend for this :(
Thanks!
Hello! Today I encountered interesting problem. I've got
=
sign in query string value. I know I could trim the character from some base64 strings, but remote proxy (not managed by me) requires them. I try to proxy those args and fasthttp is treating values as args.Smallest test case I could produce for fasthttp:
Result:
TestFastHTTPURLEncoding - correct behavior TestFastHTTPURLEncodingBUG - incorrect behavior.
Same test for
net/url
called TestGoURLParsing passing.To keep "clean" issue format:
Expected
At least
=
character is not being encoded in query args values.Actual behavior
Query args values are being encoded and at least
=
is being replaced with%3D
.