func()

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
}