package agent
import (
+ "fmt"
"net/http"
"github.com/gin-gonic/gin"
- common "github.com/iotbzh/xds-common/golib"
+ "github.com/iotbzh/xds-agent/lib/xaapiv1"
)
-type version struct {
- ID string `json:"id"`
- Version string `json:"version"`
- APIVersion string `json:"apiVersion"`
- VersionGitTag string `json:"gitTag"`
-}
-
-type apiVersion struct {
- Client version `json:"client"`
- Server []version `json:"servers"`
-}
-
// getInfo : return various information about server
func (s *APIService) getVersion(c *gin.Context) {
- response := apiVersion{
- Client: version{
+ response := xaapiv1.XDSVersion{
+ Client: xaapiv1.VersionData{
ID: "",
Version: s.Config.Version,
APIVersion: s.Config.APIVersion,
},
}
- svrVer := []version{}
+ svrVer := []xaapiv1.VersionData{}
for _, svr := range s.xdsServers {
- res := version{}
- if err := svr.HTTPGet("/version", &res); err != nil {
- common.APIError(c, "Cannot retrieve version of XDS server ID %s : %v", svr.ID, err.Error())
- return
+ res := xaapiv1.VersionData{}
+ if err := svr.GetVersion(&res); err != nil {
+ errMsg := fmt.Sprintf("Cannot retrieve version of XDS server ID %s : %v", svr.ID, err.Error())
+ s.Log.Warning(errMsg)
+ res.ID = svr.ID
+ res.Version = errMsg
}
svrVer = append(svrVer, res)
}