fix rewrite omitting trailing slash, error msg update

This commit is contained in:
yusing
2025-01-09 13:32:12 +08:00
parent adb41a80c5
commit 4aee44fe11
3 changed files with 9 additions and 4 deletions

View File

@@ -109,7 +109,7 @@ func (p *Provider) startRoute(parent task.Parent, r *R.Route) E.Error {
return nil
}
// Start implements*task.TaskStarter.
// Start implements task.TaskStarter.
func (p *Provider) Start(parent task.Parent) E.Error {
t := parent.Subtask("provider."+p.name, false)

View File

@@ -54,10 +54,14 @@ func validateURLPath(args []string) (any, E.Error) {
return nil, ErrExpectOneArg
}
p := args[0]
trailingSlash := len(p) > 1 && p[len(p)-1] == '/'
p, _, _ = strings.Cut(p, "#")
p = path.Clean(p)
if len(p) == 0 {
return "/", nil
return nil, ErrInvalidArguments.Withf("empty path")
}
if trailingSlash {
p += "/"
}
if p[0] != '/' {
return nil, ErrInvalidArguments.Withf("must start with /")