code: func (c *ServerContext) ProxyPublicAddress() string {
  	proxyHost := "<proxyhost>:3080"
  
  	if c.srv == nil {
  		return proxyHost
  	}
  
  	proxies, err := c.srv.GetAccessPoint().GetProxies()
  	if err != nil {
  		c.Errorf("Unable to retrieve proxy list: %v", err)
  	}
  
  	if len(proxies) > 0 {
  		proxyHost = proxies[0].GetPublicAddr()
  		if proxyHost == "" {
  			proxyHost = fmt.Sprintf("%v:%v", proxies[0].GetHostname(), defaults.HTTPListenPort)
  			c.Debugf("public_address not set for proxy, returning proxyHost: %q", proxyHost)
  		}
  	}
  
  	return proxyHost
  }
docs: // ProxyPublicAddress tries to get the public address from the first
  // available proxy. if public_address is not set, fall back to the hostname
  // of the first proxy we get back.