server-info: Change Error type to string (#4346)

Golang std error type doesn't marshal/unmarshal with json. So errors
are not actually being sent when a client calls ServerInfo() API.
master
Anis Elleuch 8 years ago committed by Harshavardhana
parent 87fb911d38
commit 465274cd21
  1. 8
      cmd/admin-handlers.go
  2. 2
      cmd/admin-handlers_test.go
  3. 2
      pkg/madmin/info-commands.go

@ -241,9 +241,9 @@ type ServerInfoData struct {
// ServerInfo holds server information result of one node
type ServerInfo struct {
Error error
Addr string
Data *ServerInfoData
Error string `json:"error"`
Addr string `json:"addr"`
Data *ServerInfoData `json:"data"`
}
// ServerInfoHandler - GET /?info
@ -276,7 +276,7 @@ func (adminAPI adminAPIHandlers) ServerInfoHandler(w http.ResponseWriter, r *htt
serverInfoData, err := peer.cmdRunner.ServerInfoData()
if err != nil {
errorIf(err, "Unable to get server info from %s.", peer.addr)
reply[idx].Error = err
reply[idx].Error = err.Error()
return
}

@ -1314,7 +1314,7 @@ func TestAdminServerInfo(t *testing.T) {
if len(serverInfo.Addr) == 0 {
t.Error("Expected server address to be non empty")
}
if serverInfo.Error != nil {
if serverInfo.Error != "" {
t.Errorf("Unexpected error = %v\n", serverInfo.Error)
}
if serverInfo.Data.StorageInfo.Free == 0 {

@ -84,7 +84,7 @@ type ServerInfoData struct {
// ServerInfo holds server information result of one node
type ServerInfo struct {
Error error `json:"error"`
Error string `json:"error"`
Addr string `json:"addr"`
Data *ServerInfoData `json:"data"`
}

Loading…
Cancel
Save