Browse Source

Allow bulk definition of domain matcher at parent level (#713)

Co-authored-by: Shelikhoo <[email protected]>
yuhan6665 4 years ago
parent
commit
1adfc2720a
1 changed files with 7 additions and 0 deletions
  1. 7 0
      infra/conf/router.go

+ 7 - 0
infra/conf/router.go

@@ -42,6 +42,8 @@ type RouterConfig struct {
 	RuleList       []json.RawMessage  `json:"rules"`
 	DomainStrategy *string            `json:"domainStrategy"`
 	Balancers      []*BalancingRule   `json:"balancers"`
+
+	DomainMatcher string `json:"domainMatcher"`
 }
 
 func (c *RouterConfig) getDomainStrategy() router.Config_DomainStrategy {
@@ -82,6 +84,11 @@ func (c *RouterConfig) Build() (*router.Config, error) {
 		if err != nil {
 			return nil, err
 		}
+
+		if rule.DomainMatcher == "" {
+			rule.DomainMatcher = c.DomainMatcher
+		}
+
 		config.Rule = append(config.Rule, rule)
 	}
 	for _, rawBalancer := range c.Balancers {