photoprism/pkg/clean/uri.go

25 lines
373 B
Go

package clean
import (
"net/url"
"strings"
)
// Uri removes invalid character from an uri string.
func Uri(s string) string {
if s == "" || len(s) > MaxLength {
return ""
} else if strings.Contains(s, "..") {
return ""
}
// Trim whitespace.
s = strings.TrimSpace(s)
if uri, err := url.Parse(s); err != nil {
return ""
} else {
return uri.String()
}
}