Path: blob/dev/pkg/protocols/http/request_condition.go
2070 views
package http12import (3"regexp"4"slices"5)67var (8// Determines if request condition are needed by detecting the pattern _xxx9reRequestCondition = regexp.MustCompile(`(?m)_\d+`)10)1112// NeedsRequestCondition determines if request condition should be enabled13func (request *Request) NeedsRequestCondition() bool {14for _, matcher := range request.Matchers {15if checkRequestConditionExpressions(matcher.DSL...) {16return true17}18if checkRequestConditionExpressions(matcher.Part) {19return true20}21}22for _, extractor := range request.Extractors {23if checkRequestConditionExpressions(extractor.DSL...) {24return true25}26if checkRequestConditionExpressions(extractor.Part) {27return true28}29}3031return false32}3334func checkRequestConditionExpressions(expressions ...string) bool {35return slices.ContainsFunc(expressions, reRequestCondition.MatchString)36}373839