code: func (a *Agent) ServicesWithFilter(filter string) (map[string]*AgentService, error) {
  	r := a.c.newRequest("GET", "/v1/agent/services")
  	r.filterQuery(filter)
  	_, resp, err := requireOK(a.c.doRequest(r))
  	if err != nil {
  		return nil, err
  	}
  	defer resp.Body.Close()
  
  	var out map[string]*AgentService
  	if err := decodeBody(resp, &out); err != nil {
  		return nil, err
  	}
  
  	return out, nil
  }
docs: // ServicesWithFilter returns a subset of the locally registered services that match
  // the given filter expression