Skip to content

Commit

Permalink
fix:动态路由中,支持destination的值'*'匹配
Browse files Browse the repository at this point in the history
  • Loading branch information
dongsheng.qi committed Oct 17, 2023
1 parent 320a9f2 commit 34a1290
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions plugin/servicerouter/rulebase/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,10 @@ func (g *RuleBasedInstancesFilter) matchDstMetadata(routeInfo *servicerouter.Rou
// 首先如果元数据的value无法获取,直接匹配失败
return nil, false, "", nil
}
// 全匹配类型直接返回全量实例
if ruleMetaValueStr == matchAll && ruleMetaValue.ValueType == apimodel.MatchString_TEXT {
return cls, true, "", nil
}
metaValues := svcCache.GetInstanceMetaValues(cls.Location, ruleMetaKey)
if len(metaValues) == 0 {
// 不匹配
Expand Down Expand Up @@ -401,9 +405,6 @@ func (g *RuleBasedInstancesFilter) matchDstMetadata(routeInfo *servicerouter.Rou
if !validateInMetadata(ruleMetaKey, ruleMetaValue, ruleMetaValueStr, inCluster.Metadata, nil) {
return nil, false, "", nil
}
if ruleMetaValueStr == matchAll && ruleMetaValue.ValueType == apimodel.MatchString_TEXT {
return cls, true, "", nil
}
if composedValue, ok := metaValues[ruleMetaValueStr]; ok {
if cls.RuleAddMetadata(ruleMetaKey, ruleMetaValueStr, composedValue) {
metaChanged = true
Expand Down

0 comments on commit 34a1290

Please sign in to comment.