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

Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
This commit is contained in:
yuhan6665 2021-09-16 16:07:35 -04:00 committed by GitHub
parent 0f79126379
commit 1adfc2720a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

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