From a60da8e7ab76a890566ce8047b92a7576a027e18 Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Fri, 28 Feb 2020 13:49:51 -0700 Subject: Simplify the logic in the previous commit --- caddyconfig/httpcaddyfile/directives.go | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'caddyconfig/httpcaddyfile/directives.go') 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] -- cgit v1.2.3