github.com/jfrog/jfrog-cli-core@v1.12.1/artifactory/commands/generic/ping.go (about)

     1  package generic
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-cli-core/artifactory/utils"
     5  	"github.com/jfrog/jfrog-cli-core/utils/config"
     6  )
     7  
     8  type PingCommand struct {
     9  	serverDetails *config.ServerDetails
    10  	response      []byte
    11  }
    12  
    13  func NewPingCommand() *PingCommand {
    14  	return &PingCommand{}
    15  }
    16  
    17  func (pc *PingCommand) Response() []byte {
    18  	return pc.response
    19  }
    20  
    21  func (pc *PingCommand) ServerDetails() (*config.ServerDetails, error) {
    22  	return pc.serverDetails, nil
    23  }
    24  
    25  func (pc *PingCommand) SetServerDetails(serverDetails *config.ServerDetails) *PingCommand {
    26  	pc.serverDetails = serverDetails
    27  	return pc
    28  }
    29  
    30  func (pc *PingCommand) CommandName() string {
    31  	return "rt_ping"
    32  }
    33  
    34  func (pc *PingCommand) Run() error {
    35  	var err error
    36  	pc.response, err = pc.Ping()
    37  	if err != nil {
    38  		return err
    39  	}
    40  	return nil
    41  }
    42  
    43  func (pc *PingCommand) Ping() ([]byte, error) {
    44  	servicesManager, err := utils.CreateServiceManager(pc.serverDetails, -1, false)
    45  	if err != nil {
    46  		return nil, err
    47  	}
    48  	return servicesManager.Ping()
    49  }