mirror of
1
Fork 0
forgejo/modules/util
mrsdizzie ca46385637 Clean up various use of escape/unescape functions for URL generation (#6334)
* Use PathUnescape instead of QueryUnescape when working with branch names

Currently branch names with a '+' fail in certain situations because
QueryUnescape replaces the + character with a blank space.

Using PathUnescape should be better since it is defined as:

// PathUnescape is identical to QueryUnescape except that it does not
// unescape '+' to ' ' (space).

Fixes #6333

* Change error to match new function name

* Add new util function PathEscapeSegments

This function simply runs PathEscape on each segment of a path without
touching the forward slash itself. We want to use this instead of
PathEscape/QueryEscape in most cases because a forward slash is a valid name for a
branch etc... and we don't want that escaped in a URL.

Putting this in new file url.go and also moving a couple similar
functions into that file as well.

* Use EscapePathSegments where appropriate

Replace various uses of EscapePath/EscapeQuery with new
EscapePathSegments. Also remove uncessary uses of various
escape/unescape functions when the text had already been escaped or was
not escaped.

* Reformat comment to make drone build happy

* Remove no longer used url library

* Requested code changes
2019-03-18 10:00:23 -04:00
..
compare.go LDAP Public SSH Keys synchronization (#1844) 2018-05-24 07:59:02 +03:00
path.go Code/repo search (#2582) 2017-10-27 09:10:54 +03:00
sanitize.go Fix error message sanitiziation (#3082) 2017-12-04 03:48:03 +02:00
time_stamp.go fix gpg expired bug when time is zero (#3584) 2018-02-26 12:25:45 +02:00
url.go Clean up various use of escape/unescape functions for URL generation (#6334) 2019-03-18 10:00:23 -04:00
util.go Clean up various use of escape/unescape functions for URL generation (#6334) 2019-03-18 10:00:23 -04:00
util_test.go Disallow empty titles (#5785) 2019-01-21 13:45:32 +02:00