Files
marka/server/internal/handler/utils.go
Max Richter 3f0d25f935 wrip
2025-09-24 22:41:08 +02:00

25 lines
412 B
Go

package handler
import "strings"
func cleanURLLike(p string) string {
p = strings.TrimSpace(p)
if p == "" || p == "/" {
return "/"
}
parts := []string{}
for seg := range strings.SplitSeq(p, "/") {
switch seg {
case "", ".":
continue
case "..":
if len(parts) > 0 {
parts = parts[:len(parts)-1]
}
default:
parts = append(parts, seg)
}
}
return "/" + strings.Join(parts, "/")
}