1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-02-09 09:45:44 -05:00

cachable domain matcher, step 1

This commit is contained in:
Darien Raymond
2017-11-06 21:12:28 +01:00
parent 482793d28a
commit 6b77e14bf6
3 changed files with 60 additions and 46 deletions

View File

@@ -52,24 +52,11 @@ func (rr *RoutingRule) BuildCondition() (Condition, error) {
conds := NewConditionChan()
if len(rr.Domain) > 0 {
anyCond := NewAnyCondition()
matcher := NewCachableDomainMatcher()
for _, domain := range rr.Domain {
switch domain.Type {
case Domain_Plain:
anyCond.Add(NewPlainDomainMatcher(domain.Value))
case Domain_Regex:
matcher, err := NewRegexpDomainMatcher(domain.Value)
if err != nil {
return nil, err
}
anyCond.Add(matcher)
case Domain_Domain:
anyCond.Add(NewSubDomainMatcher(domain.Value))
default:
panic("Unknown domain type.")
}
matcher.Add(domain)
}
conds.Add(anyCond)
conds.Add(matcher)
}
if len(rr.Cidr) > 0 {