in proxy/ingress/servicecomb/ingress.go [42:57]
func (f *IngressRuleFetcher) Fetch(protocol, host, apiPath string, headers map[string][]string) (*config.IngressRule, error) {
for _, r := range rulesData {
if r.Host != "" && host != r.Host {
//do not match host,then ignore path
continue
}
match, err := regexp.MatchString(r.APIPath, apiPath)
if err != nil {
return nil, err
}
if match {
return r, nil
}
}
return nil, ingress.ErrNotMatch
}