罗泽轩
罗泽轩
LGTM. Would you submit this change?
PR is welcome!
I don't have a strong opinion, but I would vote for option 1. It's the easiest way to implement.
@sparr Thanks for your investigation! We can wait for it.
I am afraid I don't think it is a bug. According to the document, `ngx.escape_uri` is used to: > Escape str as a URI component. Although its name is `escape_uri`....
@hunterli Could you point out where RFC 3986 says that `!, ', (, ), and *` are reserved for URI component?
One place I found including `!, ', (, ), and *` is the `D.2. Modifications`, under `Appendix D. Changes from RFC 2396 `: > The mark characters that are typically...
Why not be compatible with Javascript? It doesn't escape `'`, too. And it doesn't strictly follow the `RFC 3986`, either. Do you like PHP more than Javascript? 😄 Another option...
@hunterli 1. Go's implementation doesn't follow the RFC 3986. And for backward compability, they don't want to fix it. See https://github.com/golang/go/issues/16127. 2. The original `ngx.escape_uri` doesn't strictly follow the RFC...
> RFC说"Reserved Characters"都应该escape Could you point out where RFC 3986 says that all reserved characters should be escaped for URI component? Refer to `Appendix A. Collected ABNF for URI`, `sub-delims`...