summaryrefslogtreecommitdiffstats
path: root/vendor/github.com
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com')
-rw-r--r--vendor/github.com/microcosm-cc/bluemonday/sanitize.go21
1 files changed, 13 insertions, 8 deletions
diff --git a/vendor/github.com/microcosm-cc/bluemonday/sanitize.go b/vendor/github.com/microcosm-cc/bluemonday/sanitize.go
index 99559bbabe..f4d23551a3 100644
--- a/vendor/github.com/microcosm-cc/bluemonday/sanitize.go
+++ b/vendor/github.com/microcosm-cc/bluemonday/sanitize.go
@@ -124,8 +124,9 @@ func escapeUrlComponent(val string) string {
// Query represents a query
type Query struct {
- Key string
- Value string
+ Key string
+ Value string
+ HasValue bool
}
func parseQuery(query string) (values []Query, err error) {
@@ -140,8 +141,10 @@ func parseQuery(query string) (values []Query, err error) {
continue
}
value := ""
+ hasValue := false
if i := strings.Index(key, "="); i >= 0 {
key, value = key[:i], key[i+1:]
+ hasValue = true
}
key, err1 := url.QueryUnescape(key)
if err1 != nil {
@@ -158,8 +161,9 @@ func parseQuery(query string) (values []Query, err error) {
continue
}
values = append(values, Query{
- Key: key,
- Value: value,
+ Key: key,
+ Value: value,
+ HasValue: hasValue,
})
}
return values, err
@@ -169,8 +173,10 @@ func encodeQueries(queries []Query) string {
var b strings.Builder
for i, query := range queries {
b.WriteString(url.QueryEscape(query.Key))
- b.WriteString("=")
- b.WriteString(url.QueryEscape(query.Value))
+ if query.HasValue {
+ b.WriteString("=")
+ b.WriteString(url.QueryEscape(query.Value))
+ }
if i < len(queries)-1 {
b.WriteString("&")
}
@@ -965,7 +971,6 @@ func (p *Policy) matchRegex(elementName string) (map[string]attrPolicy, bool) {
return aps, matched
}
-
// normaliseElementName takes a HTML element like <script> which is user input
// and returns a lower case version of it that is immune to UTF-8 to ASCII
// conversion tricks (like the use of upper case cyrillic i scrÄ°pt which a
@@ -983,4 +988,4 @@ func normaliseElementName(str string) string {
`"`),
`"`,
)
-} \ No newline at end of file
+}