ampproject / ampproject/amppackager
Figure out proper URL-escaping once and for all
- Dominant language
- Go
- Stars
- 141
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Description
Neither url.Parse() nor url.String() sanitizes the query component. See e.g. https://play.golang.org/p/8hsD2WeMVYD
#190 and #192 fix some cases resulting from this, but there may be other edge cases that fall out from this quick fix. Investigate https://golang.org/src/net/url/url.go?s=7976:8008#L96 and see how it compares to what we should be doing per https://tools.ietf.org/html/rfc3986.
Contributor guide
Research direction
Reproduce the query-escaping behavior using the linked Go playground example, then inspect net/url/url.go around the referenced lines. Compare Parse and String behavior with RFC 3986 and identify the remaining edge cases beyond fixes in #190 and #192. Done means the expected escaping behavior and required changes are clearly established for all relevant cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100