mirror of
https://github.com/caddyserver/caddy.git
synced 2025-05-28 14:45:49 +08:00
caddyhttp: Add MatchWithError
to replace SetVar hack (#6596)
* caddyhttp: Add `MatchWithError` to replace SetVar hack * Error in IP matchers on TLS handshake not complete * Use MatchWithError everywhere possible * Move implementations to MatchWithError versions * Looser interface checking to allow fallback * CEL factories can return RequestMatcherWithError * Clarifying comment since it's subtle that an err is returned * Return 425 Too Early status in IP matchers * Keep AnyMatch signature the same for now * Apparently Deprecated can't be all-uppercase to get IDE linting * Linter
This commit is contained in:
@ -489,7 +489,11 @@ func TestMatchExpressionMatch(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
if tc.expression.Match(req) != tc.wantResult {
|
||||
matches, err := tc.expression.MatchWithError(req)
|
||||
if err != nil {
|
||||
t.Errorf("MatchExpression.Match() error = %v", err)
|
||||
}
|
||||
if matches != tc.wantResult {
|
||||
t.Errorf("MatchExpression.Match() expected to return '%t', for expression : '%s'", tc.wantResult, tc.expression.Expr)
|
||||
}
|
||||
})
|
||||
@ -532,7 +536,7 @@ func BenchmarkMatchExpressionMatch(b *testing.B) {
|
||||
}
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
tc.expression.Match(req)
|
||||
tc.expression.MatchWithError(req)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user