summaryrefslogtreecommitdiff
path: root/caddyconfig/httpcaddyfile
diff options
context:
space:
mode:
Diffstat (limited to 'caddyconfig/httpcaddyfile')
-rw-r--r--caddyconfig/httpcaddyfile/directives.go20
1 files changed, 9 insertions, 11 deletions
diff --git a/caddyconfig/httpcaddyfile/directives.go b/caddyconfig/httpcaddyfile/directives.go
index c6bd24b..095e4b9 100644
--- a/caddyconfig/httpcaddyfile/directives.go
+++ b/caddyconfig/httpcaddyfile/directives.go
@@ -298,18 +298,16 @@ func sortRoutes(routes []ConfigValue) {
jPM = pathMatcher
}
- // if there is only one path in the matcher, sort by
- // longer path (more specific) first; if one of the
- // routes doesn't have a matcher, then it's treated
- // like a zero-length path matcher
- switch {
- case iPM == nil && jPM != nil:
- return false
- case iPM != nil && jPM == nil:
- return true
- case iPM != nil && jPM != nil:
- return len(iPM[0]) > len(jPM[0])
+ // sort by longer path (more specific) first; missing
+ // path matchers are treated as zero-length paths
+ var iPathLen, jPathLen int
+ if iPM != nil {
+ iPathLen = len(iPM[0])
+ }
+ if jPM != nil {
+ jPathLen = len(jPM[0])
}
+ return iPathLen > jPathLen
}
return dirPositions[iDir] < dirPositions[jDir]