hunk.code_window: func validateEndpoint(endpoint string) error {
   	if endpoint != "" {
   		if !strings.HasPrefix(endpoint, "unix://") && !strings.HasPrefix(endpoint, "tcp://") {
   			return errInvalidEnpointProtocol
   		}
   		if strings.HasPrefix(endpoint, "unix://") {
   			socketPath := strings.TrimPrefix(endpoint, "unix://")
   			if _, err := os.Stat(socketPath); err != nil {
  
hunk.labels: keep keep keep replace keep keep keep keep keep
hunk.after_edit: 			return errInvalidEndpointProtocol
  
hunk.file_path: api/cli/cli.go
hunk.type: replace
file: package cli
  
  import (
  	"github.com/portainer/portainer"
  
  	"fmt"
  	"gopkg.in/alecthomas/kingpin.v2"
  	"strings"
  )
  
  type pairList []portainer.Pair
  
  // Set implementation for a list of portainer.Pair
  func (l *pairList) Set(value string) error {
  	parts := strings.SplitN(value, "=", 2)
  	if len(parts) != 2 {
  		return fmt.Errorf("expected NAME=VALUE got '%s'", value)
  	}
  	p := new(portainer.Pair)
  	p.Name = parts[0]
  	p.Value = parts[1]
  	*l = append(*l, *p)
  	return nil
  }
  
  // String implementation for a list of pair
  func (l *pairList) String() string {
  	return ""
  }
  
  // IsCumulative implementation for a list of pair
  func (l *pairList) IsCumulative() bool {
  	return true
  }
  
  func pairs(s kingpin.Settings) (target *[]portainer.Pair) {
  	target = new([]portainer.Pair)
  	s.SetValue((*pairList)(target))
  	return
  }
  