Files
hadrian/pkg/ruleset_v2/ruleset.go

33 lines
551 B
Go

package ruleset_v2
import (
"net/url"
)
type IRuleset interface {
HasRule(url url.URL) bool
GetRule(url url.URL) (rule Rule, exists bool)
}
type Ruleset struct {
rulesetPath string
rules map[string]Rule
}
func (rs Ruleset) GetRule(url url.URL) (rule Rule, exists bool) {
rule, exists = rs.rules[url.Hostname()]
return rule, exists
}
func (rs Ruleset) HasRule(url url.URL) bool {
_, exists := rs.GetRule(url)
return exists
}
func NewRuleset(path string) (Ruleset, error) {
rs := Ruleset{
rulesetPath: path,
}
return rs, nil
}