naive implementation of caddy like route rules, dependencies upgrade

This commit is contained in:
yusing
2025-01-08 07:18:09 +08:00
parent 1b40f81fcc
commit 35c0463829
9 changed files with 577 additions and 15 deletions

View File

@@ -121,6 +121,9 @@ func (r *HTTPRoute) Start(parent task.Parent) E.Error {
case len(pathPatterns) == 1 && pathPatterns[0] == "/":
r.handler = r.rp
default:
logger.Warn().
Str("route", r.TargetName()).
Msg("`path_patterns` is deprecated. Use `rules` instead.")
mux := gphttp.NewServeMux()
patErrs := E.NewBuilder("invalid path pattern(s)")
for _, p := range pathPatterns {
@@ -134,6 +137,10 @@ func (r *HTTPRoute) Start(parent task.Parent) E.Error {
}
}
if len(r.Raw.Rules) > 0 {
r.handler = r.Raw.Rules.BuildHandler(r.rp)
}
if r.HealthMon != nil {
if err := r.HealthMon.Start(r.task); err != nil {
E.LogWarn("health monitor error", err, &r.l)