Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Modify URL generation with a fragment
Signed-off-by: Grigoriev, Nikolai nikolai.grigoriev@nuance.com
#345, ory/hydra#1201
Proposed changes
Go's URL class does not seem (to me) to be well designed for constructing the URLs. It seems to be impossible to avoid double-encoding of the characters if one used url.Fragment populated using url.Values.Encode().
The proposed change encodes the fragment separately using url.Values.Encode(), ensures that the original redirect URL does not have a fragment (it must not have one by RFC). Then it constructs the URL string and, if the fragment is not empty, adds the raw encoded fragment to the URL.
Checklist
vulnerability, I confirm that I got green light (please contact hi@ory.sh) from the maintainers to push the changes.
by signing my commit(s). You can amend your signature to the most recent commit by using
git commit --amend -s
. If youamend the commit, you might need to force push using
git push --force HEAD:<branch>
. Please be very careful when usingforce push.
Further comments
This is my first Go experience so I will appreciate any comments and suggestions