This commit is contained in:
leokun
2026-06-30 10:38:52 +08:00
commit c083be5ec2
312 changed files with 146628 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
package server
import (
"fmt"
"net/url"
"strings"
)
func ParseAndValidateRawURL(raw string) (*url.URL, error) {
value := strings.TrimSpace(raw)
if value == "" {
return nil, fmt.Errorf("empty raw url")
}
parsed, err := url.Parse(value)
if err != nil {
return nil, err
}
if parsed.Scheme != "http" && parsed.Scheme != "https" {
return nil, fmt.Errorf("unsupported scheme %q", parsed.Scheme)
}
if strings.TrimSpace(parsed.Host) == "" {
return nil, fmt.Errorf("empty host")
}
return parsed, nil
}