WIP
This commit is contained in:
24
server-new/internal/handler/utils.go
Normal file
24
server-new/internal/handler/utils.go
Normal file
@@ -0,0 +1,24 @@
|
||||
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, "/")
|
||||
}
|
Reference in New Issue
Block a user