fix url parse
This commit is contained in:
parent
ef850fb51d
commit
3c7872db15
24
sparte.go
24
sparte.go
|
@ -11,28 +11,14 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
// A better url parser see:
|
||||
// https://stackoverflow.com/questions/62083272/parsing-url-with-port-and-without-scheme
|
||||
func ParseRawURL(rawurl string) (u *url.URL, err error) {
|
||||
u, err := url.ParseRequestURI(rawurl)
|
||||
if err != nil || u.Host == "" {
|
||||
u, repErr := url.ParseRequestURI("https://" + rawurl)
|
||||
if repErr != nil {
|
||||
fmt.Printf("Could not parse raw url: %s, error: %v", rawurl, err)
|
||||
u = nil
|
||||
return
|
||||
}
|
||||
err = nil
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// SpartanURL parses u and calls SpartanParsedURL with the parsed url
|
||||
func SpartanURL(u string) bool {
|
||||
parsed, err := ParseRawURL(u)
|
||||
parsed, err := url.Parse(u)
|
||||
if parsed.Scheme != "" && parsed.Host == "" {
|
||||
parsed, err = url.Parse("spartan://" + u)
|
||||
}
|
||||
if err != nil {
|
||||
fmt.Println("invalid url")
|
||||
return false
|
||||
}
|
||||
if parsed.Scheme != "spartan" {
|
||||
|
|
Loading…
Reference in New Issue