code: func makeHTTPDialer(remoteAddr string) (string, func(string, string) (net.Conn, error)) {
  	parts := strings.SplitN(remoteAddr, "://", 2)
  	var protocol, address string
  	if len(parts) == 1 {
  		// default to tcp if nothing specified
  		protocol, address = "tcp", remoteAddr
  	} else if len(parts) == 2 {
  		protocol, address = parts[0], parts[1]
  	} else {
  		// return a invalid message
  		msg := fmt.Sprintf("Invalid addr: %s", remoteAddr)
  		return msg, func(_ string, _ string) (net.Conn, error) {
  			return nil, errors.New(msg)
  		}
  	}
  	// accept http as an alias for tcp
  	if protocol == "http" {
  		protocol = "tcp"
  	}
  
  	// replace / with . for http requests (kvstore domain)
  	trimmedAddress := strings.Replace(address, "/", ".", -1)
  	return trimmedAddress, func(proto, addr string) (net.Conn, error) {
  		return net.Dial(protocol, address)
  	}
  }
docs: // TODO: Deprecate support for IP:PORT or /path/to/socket