code: func (rm *RouteManager) AddFromURI(uri string) error {
  	expandedRoute := os.ExpandEnv(uri)
  	u, err := url.Parse(expandedRoute)
  	if err != nil {
  		return err
  	}
  	r := &Route{
  		Address: u.Host,
  		Adapter: u.Scheme,
  		Options: make(map[string]string),
  	}
  	if u.RawQuery != "" {
  		params, err := url.ParseQuery(u.RawQuery)
  		if err != nil {
  			return err
  		}
  		for key := range params {
  			value := params.Get(key)
  			switch key {
  			case "filter.id":
  				r.FilterID = value
  			case "filter.name":
  				r.FilterName = value
  			case "filter.labels":
  				r.FilterLabels = strings.Split(value, ",")
  			case "filter.sources":
  				r.FilterSources = strings.Split(value, ",")
  			default:
  				r.Options[key] = value
  			}
  		}
  	}
  	return rm.Add(r)
  }
docs: // AddFromURI creates a new route from an URI string and adds it to the RouteManager