ampproject / ampproject/amppackager

Figure out proper URL-escaping once and for all

Open
#191 10 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.