package util import ( "net/url" "strconv" "strings" ) func ParseInt(text string, defaultValue int) int { count, parseError := strconv.ParseInt(text, 10, 64) if parseError != nil { if len(text) > 0 { return 0 } return defaultValue } return int(count) } func ParseUint64(text string, defaultValue uint64) uint64 { count, parseError := strconv.ParseUint(text, 10, 64) if parseError != nil { if len(text) > 0 { return 0 } return defaultValue } return count } func ParseFilerUrl(entryPath string) (filerServer string, filerPort int64, path string, err error) { if !strings.HasPrefix(entryPath, "http://") && !strings.HasPrefix(entryPath, "https://") { entryPath = "http://" + entryPath } var u *url.URL u, err = url.Parse(entryPath) if err != nil { return } filerServer = u.Hostname() portString := u.Port() if portString != "" { filerPort, err = strconv.ParseInt(portString, 10, 32) } path = u.Path return }