I'm all for fixing this behavior. From a client perspective, it is not intuitive and requires documentation to understand. Also, no standard URL library works this way so it requires custom code just for this API.
I would expect the following:
example@127.0.0.1 to encode to .../example@127.0.0.1 since . and @ are both allowed in this part of the URL without encoding.
example@127.% to encode to .../example@127.%25 since % must be encoded.
I'm all for fixing this behavior. From a client perspective, it is not intuitive and requires documentation to understand. Also, no standard URL library works this way so it requires custom code just for this API.
I would expect the following:
example@127.0.0.1 to encode to .../example@ 127.0.0. 1 since . and @ are both allowed in this part of the URL without encoding.
example@127.% to encode to .../example@127.%25 since % must be encoded.