func (r *RouteRegistry) Lookup(uri route.Uri) *route.Pool { r.RLock() uri = uri.RouteKey() var err error pool, found := r.byUri.MatchUri(uri) for !found && err == nil { uri, err = uri.NextWildcard() pool, found = r.byUri.MatchUri(uri) } r.RUnlock() return pool }