mirror of
https://github.com/caddyserver/caddy.git
synced 2025-02-02 22:27:10 +01:00
httpserver: Add not_starts_with condition. (#1687)
* Add not_starts_with condition. This adds the opposite of the starts_with condition, to check if a given string does not start with another string. * Correct white space problems
This commit is contained in:
parent
a5eb552215
commit
33e1560d53
2 changed files with 27 additions and 16 deletions
|
@ -50,6 +50,7 @@ const (
|
|||
hasOp = "has"
|
||||
notHasOp = "not_has"
|
||||
startsWithOp = "starts_with"
|
||||
notStartsWithOp = "not_starts_with"
|
||||
endsWithOp = "ends_with"
|
||||
matchOp = "match"
|
||||
notMatchOp = "not_match"
|
||||
|
@ -68,6 +69,7 @@ var ifConditions = map[string]ifCondition{
|
|||
hasOp: hasFunc,
|
||||
notHasOp: notHasFunc,
|
||||
startsWithOp: startsWithFunc,
|
||||
notStartsWithOp: notStartsWithFunc,
|
||||
endsWithOp: endsWithFunc,
|
||||
matchOp: matchFunc,
|
||||
notMatchOp: notMatchFunc,
|
||||
|
@ -103,6 +105,12 @@ func startsWithFunc(a, b string) bool {
|
|||
return strings.HasPrefix(a, b)
|
||||
}
|
||||
|
||||
// notStartsWithFunc is condition for NotStartsWith operator.
|
||||
// It checks if b is not a prefix of a.
|
||||
func notStartsWithFunc(a, b string) bool {
|
||||
return !strings.HasPrefix(a, b)
|
||||
}
|
||||
|
||||
// endsWithFunc is condition for EndsWith operator.
|
||||
// It checks if b is a suffix of a.
|
||||
func endsWithFunc(a, b string) bool {
|
||||
|
|
|
@ -32,6 +32,9 @@ func TestConditions(t *testing.T) {
|
|||
{"bab starts_with bb", false},
|
||||
{"bab starts_with ba", true},
|
||||
{"bab starts_with bab", true},
|
||||
{"bab not_starts_with bb", true},
|
||||
{"bab not_starts_with ba", false},
|
||||
{"bab not_starts_with bab", false},
|
||||
{"bab ends_with bb", false},
|
||||
{"bab ends_with bab", true},
|
||||
{"bab ends_with ab", true},
|
||||
|
|
Loading…
Reference in a new issue