github.com/jfrog/jfrog-cli-core/v2@v2.51.0/missioncontrol/utils/missioncontrolutils.go (about)

     1  package utils
     2  
     3  import (
     4  	"encoding/json"
     5  	"github.com/jfrog/jfrog-cli-core/v2/utils/config"
     6  	"github.com/jfrog/jfrog-client-go/utils/io/httputils"
     7  )
     8  
     9  func GetMissionControlHttpClientDetails(serverDetails *config.ServerDetails) httputils.HttpClientDetails {
    10  	return httputils.HttpClientDetails{
    11  		User:        serverDetails.User,
    12  		Password:    serverDetails.Password,
    13  		AccessToken: serverDetails.AccessToken,
    14  		Headers:     map[string]string{"Content-Type": "application/json"}}
    15  }
    16  
    17  func ReadMissionControlHttpMessage(resp []byte) string {
    18  	var response map[string][]HttpResponse
    19  	err := json.Unmarshal(resp, &response)
    20  	if err != nil {
    21  		return string(resp)
    22  	}
    23  	responseMessage := ""
    24  	for i := range response["errors"] {
    25  		item := response["errors"][i]
    26  		if item.Message != "" {
    27  			if responseMessage != "" {
    28  				responseMessage += ", "
    29  			}
    30  			responseMessage += item.Message
    31  			for i := 0; i < len(item.Details); i++ {
    32  				responseMessage += " " + item.Details[i]
    33  			}
    34  		}
    35  	}
    36  	if responseMessage == "" {
    37  		return string(resp)
    38  	}
    39  	return responseMessage
    40  }
    41  
    42  type HttpResponse struct {
    43  	Message string
    44  	Type    string
    45  	Details []string
    46  }