diff options
author | Keuin <[email protected]> | 2022-09-07 02:48:46 +0800 |
---|---|---|
committer | Keuin <[email protected]> | 2022-09-07 02:48:46 +0800 |
commit | 8e15d802865ed57db0018c15ea5559c8bd44c01f (patch) | |
tree | 48f4632a1ad044bd7f7f8da3ebe2bb03ab4ca6fe /common/urlparse.go | |
parent | 88234ca8fffc4e120adbe0d38071b625ad2f43c7 (diff) |
First working version. Just a POC.
Diffstat (limited to 'common/urlparse.go')
-rw-r--r-- | common/urlparse.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/common/urlparse.go b/common/urlparse.go new file mode 100644 index 0000000..dc72cee --- /dev/null +++ b/common/urlparse.go @@ -0,0 +1,21 @@ +package common + +import ( + "errors" + "net/url" + "strings" +) + +// GetFileExtensionFromUrl +// copied from https://elisegev.medium.com/get-a-file-extension-from-a-url-in-golang-5061d4a298a +func GetFileExtensionFromUrl(rawUrl string) (string, error) { + u, err := url.Parse(rawUrl) + if err != nil { + return "", err + } + pos := strings.LastIndex(u.Path, ".") + if pos == -1 { + return "", errors.New("couldn't find a period to indicate a file extension") + } + return u.Path[pos+1 : len(u.Path)], nil +} |