From 0d7a4b258ac2b63761e0a8bf0c8f4d4bb0f9ec08 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Fri, 18 Nov 2022 14:15:41 -0300 Subject: [PATCH] fix normalize and add a test. --- normalize.go | 4 +--- normalize_test.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 normalize_test.go diff --git a/normalize.go b/normalize.go index ba958a4..13a863a 100644 --- a/normalize.go +++ b/normalize.go @@ -20,9 +20,7 @@ func NormalizeURL(u string) string { p.Scheme = "wss" } - if strings.HasSuffix(p.RawPath, "/") { - p.RawPath = p.RawPath[0 : len(p.RawPath)-1] - } + p.Path = strings.TrimRight(p.Path, "/") return p.String() } diff --git a/normalize_test.go b/normalize_test.go new file mode 100644 index 0000000..1f6b331 --- /dev/null +++ b/normalize_test.go @@ -0,0 +1,30 @@ +package nostr + +import "fmt" + +func ExampleNormalizeURL() { + fmt.Println(NormalizeURL("wss://x.com/y")) + fmt.Println(NormalizeURL("wss://x.com/y/")) + fmt.Println(NormalizeURL("http://x.com/y")) + fmt.Println(NormalizeURL(NormalizeURL("http://x.com/y"))) + fmt.Println(NormalizeURL("wss://x.com")) + fmt.Println(NormalizeURL("wss://x.com/")) + fmt.Println(NormalizeURL(NormalizeURL(NormalizeURL("wss://x.com/")))) + fmt.Println(NormalizeURL("x.com")) + fmt.Println(NormalizeURL("x.com/")) + fmt.Println(NormalizeURL("x.com////")) + fmt.Println(NormalizeURL("x.com/?x=23")) + + // Output: + // wss://x.com/y + // wss://x.com/y + // ws://x.com/y + // ws://x.com/y + // wss://x.com + // wss://x.com + // wss://x.com + // wss://x.com + // wss://x.com + // wss://x.com + // wss://x.com?x=23 +}