aboutsummaryrefslogtreecommitdiff
path: root/query.go
blob: 8f4229c215d79b93b72f7b8c16d84b97155819e8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package gemini

import (
	"net/url"
	"strings"
)

// QueryEscape escapes a string for use in a Gemini URL query.
// It is like url.PathEscape except that it also replaces plus signs
// with their percent-encoded counterpart.
func QueryEscape(query string) string {
	return strings.ReplaceAll(url.PathEscape(query), "+", "%2B")
}

// QueryUnescape unescapes a Gemini URL query.
// It is identical to url.PathUnescape.
func QueryUnescape(query string) (string, error) {
	return url.PathUnescape(query)
}