Files
Ant-Browser/backend/app_proxy_core_download_utils.go

49 lines
907 B
Go

package backend
import (
"path/filepath"
"strings"
)
func hasAnySuffix(value string, suffixes []string) bool {
for _, suffix := range suffixes {
if strings.HasSuffix(value, suffix) {
return true
}
}
return false
}
func containsAny(value string, tokens []string) bool {
for _, token := range tokens {
if token != "" && strings.Contains(value, token) {
return true
}
}
return false
}
func archiveExt(name string) string {
lower := strings.ToLower(name)
switch {
case strings.HasSuffix(lower, ".tar.gz"):
return ".tar.gz"
case strings.HasSuffix(lower, ".tgz"):
return ".tgz"
case strings.HasSuffix(lower, ".zip"):
return ".zip"
case strings.HasSuffix(lower, ".gz"):
return ".gz"
default:
return ".tmp"
}
}
func mustRelPath(base string, target string) string {
rel, err := filepath.Rel(base, target)
if err != nil {
return filepath.Base(target)
}
return rel
}