@@ -25,38 +25,38 @@ type Rule interface {
2525 Match (metadata * adapter.Metadata ) bool
2626}
2727
28- func NewRule (logger * log.Logger , config * config.Rule , listMap map [string ]set.StringSet , ruleRegistry map [string ]CustomRuleInitializer ) (Rule , error ) {
29- switch config .Type {
30- case "always" :
31- return & RuleAlways {config }, nil
32- case "and" :
33- return NewLogicalAndRule (logger , config , listMap , ruleRegistry )
34- case "or" :
35- return NewLogicalOrRule (logger , config , listMap , ruleRegistry )
36- case "ServiceName" :
37- return NewServiceNameRule (config , listMap )
38- case "SourceIPVersion" :
39- return NewSourceIPVersionRule (config )
40- case "SourceIP" :
41- return NewSourceIPRule (config , listMap )
42- case "SourcePort" :
43- return NewSourcePortRule (config )
44- case "MinecraftHostname" :
45- return NewMinecraftHostnameRule (config , listMap )
46- case "MinecraftPlayerName" :
47- return NewMinecraftPlayerNameRule (config , listMap )
48- case "MinecraftStatus" :
49- return NewMinecraftStatusRule (config )
50- case "MinecraftTransfer" :
51- return NewMinecraftTransferRule (config )
28+ func NewRule (logger * log.Logger , ruleConfig * config.Rule , listMap map [string ]set.StringSet , ruleRegistry map [string ]CustomRuleInitializer ) (Rule , error ) {
29+ switch ruleConfig .Type {
30+ case config . RuleTypeAlways :
31+ return & RuleAlways {ruleConfig }, nil
32+ case config . RuleTypeAnd :
33+ return NewLogicalAndRule (logger , ruleConfig , listMap , ruleRegistry )
34+ case config . RuleTypeOr :
35+ return NewLogicalOrRule (logger , ruleConfig , listMap , ruleRegistry )
36+ case config . RuleTypeServiceName :
37+ return NewServiceNameRule (ruleConfig , listMap )
38+ case config . RuleTypeSourceIPVersion :
39+ return NewSourceIPVersionRule (ruleConfig )
40+ case config . RuleTypeSourceIP :
41+ return NewSourceIPRule (ruleConfig , listMap )
42+ case config . RuleTypeSourcePort :
43+ return NewSourcePortRule (ruleConfig )
44+ case config . RuleTypeMinecraftHostname :
45+ return NewMinecraftHostnameRule (ruleConfig , listMap )
46+ case config . RuleTypeMinecraftPlayerName :
47+ return NewMinecraftPlayerNameRule (ruleConfig , listMap )
48+ case config . RuleTypeMinecraftStatus :
49+ return NewMinecraftStatusRule (ruleConfig )
50+ case config . RuleTypeMinecraftTransfer :
51+ return NewMinecraftTransferRule (ruleConfig )
5252 }
53- if len (ruleRegistry ) > 0 && strings .HasPrefix (config .Type , typeCustomPrefix ) {
54- typeName := strings .TrimPrefix (config .Type , typeCustomPrefix )
53+ if len (ruleRegistry ) > 0 && strings .HasPrefix (ruleConfig .Type , typeCustomPrefix ) {
54+ typeName := strings .TrimPrefix (ruleConfig .Type , typeCustomPrefix )
5555 ruleInitializer , found := ruleRegistry [typeName ]
5656 if ! found {
5757 return nil , fmt .Errorf ("unknown custom rule type: %s" , typeName )
5858 }
59- return ruleInitializer (logger , config , listMap )
59+ return ruleInitializer (logger , ruleConfig , listMap )
6060 }
61- return nil , common .Cause ("type [" + config .Type + "]: " , ErrRuleTypeNotFound )
61+ return nil , common .Cause ("type [" + ruleConfig .Type + "]: " , ErrRuleTypeNotFound )
6262}
0 commit comments