1
0
mirror of https://github.com/packwiz/packwiz.git synced 2025-04-27 16:46:30 +02:00

Fix URL re-encoding for square brackets

This commit is contained in:
comp500 2022-02-14 18:47:03 +00:00
parent 55ce2fb581
commit f1716faa72

@ -3,9 +3,15 @@ package core
import (
"fmt"
"net/url"
"strings"
)
// ReencodeURL re-encodes URLs for RFC3986 compliance; as CurseForge URLs aren't properly encoded
func ReencodeURL(u string) (string, error) {
// Go's URL library isn't entirely RFC3986 compliant :(
// Manually replace [ and ] with %5B and %5D
u = strings.ReplaceAll(u, "[", "%5B")
u = strings.ReplaceAll(u, "]", "%5D")
parsed, err := url.Parse(u)
if err != nil {
return "", fmt.Errorf("failed to parse url: %s, %v", u, err)