From cbe04af8011d3f6b9e4fa7bf9f256e41733dea5e Mon Sep 17 00:00:00 2001 From: Igor Gov Date: Tue, 10 Aug 2021 18:04:30 +0300 Subject: [PATCH] Revert "Policy rules remove redundant function (#193)" (#199) This reverts commit c4afeee5b3470042c86adf280b75b120883c6197. --- agent/pkg/models/models.go | 20 +++++++++++++++----- agent/pkg/rules/models.go | 27 +++++---------------------- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/agent/pkg/models/models.go b/agent/pkg/models/models.go index ef3e4d4d0..bf8c0cb7b 100644 --- a/agent/pkg/models/models.go +++ b/agent/pkg/models/models.go @@ -54,9 +54,17 @@ type BaseEntryDetails struct { } type ApplicableRules struct { - Latency int64 `json:"latency,omitempty"` - Status bool `json:"status,omitempty"` - NumberOfRules int `json:"numberOfRules,omitempty"` + Latency int64 `json:"latency,omitempty"` + Status bool `json:"status,omitempty"` + NumberOfRules int `json:"numberOfRules,omitempty"` +} + +func NewApplicableRules(status bool, latency int64, number int) ApplicableRules { + ar := ApplicableRules{} + ar.Status = status + ar.Latency = latency + ar.NumberOfRules = number + return ar } type FullEntryDetails struct { @@ -211,6 +219,8 @@ func (fewp *FullEntryWithPolicy) UnmarshalData(entry *MizuEntry) error { } func RunValidationRulesState(harEntry har.Entry, service string) ApplicableRules { - _, resultPolicyToSend := rules.MatchRequestPolicy(harEntry, service) - return rules.PassedValidationRules(resultPolicyToSend) + numberOfRules, resultPolicyToSend := rules.MatchRequestPolicy(harEntry, service) + statusPolicyToSend, latency, numberOfRules := rules.PassedValidationRules(resultPolicyToSend, numberOfRules) + ar := NewApplicableRules(statusPolicyToSend, latency, numberOfRules) + return ar } diff --git a/agent/pkg/rules/models.go b/agent/pkg/rules/models.go index 1af44331f..2107e6447 100644 --- a/agent/pkg/rules/models.go +++ b/agent/pkg/rules/models.go @@ -3,7 +3,6 @@ package rules import ( "encoding/json" "fmt" - "mizuserver/pkg/models" "reflect" "regexp" "strings" @@ -93,35 +92,19 @@ func MatchRequestPolicy(harEntry har.Entry, service string) (int, []RulesMatched return len(enforcePolicy.Rules), resultPolicyToSend } -func PassedValidationRules(rulesMatched []RulesMatched) models.ApplicableRules { +func PassedValidationRules(rulesMatched []RulesMatched, numberOfRules int) (bool, int64, int) { if len(rulesMatched) == 0 { - return models.ApplicableRules{ - Status: false, - Latency: 0, - NumberOfRules: 0, - } + return false, 0, 0 } for _, rule := range rulesMatched { if rule.Matched == false { - return models.ApplicableRules{ - Status: false, - Latency: -1, - NumberOfRules: len(rulesMatched), - } + return false, -1, len(rulesMatched) } } for _, rule := range rulesMatched { if strings.ToLower(rule.Rule.Type) == "latency" { - return models.ApplicableRules{ - Status: true, - Latency: rule.Rule.Latency, - NumberOfRules: len(rulesMatched), - } + return true, rule.Rule.Latency, len(rulesMatched) } } - return models.ApplicableRules{ - Status: true, - Latency: -1, - NumberOfRules: len(rulesMatched), - } + return true, -1, len(rulesMatched) }