Address review feedback from @jefferai

This commit is contained in:
vishalnayak
2016-08-10 15:22:12 -04:00
parent a9155e8038
commit baa1a1c9cf
3 changed files with 11 additions and 4 deletions

View File

@@ -2,6 +2,7 @@ package http
import (
"encoding/json"
"fmt"
"net/http"
"strconv"
"time"
@@ -121,6 +122,9 @@ func getSysHealth(core *vault.Core, r *http.Request) (int, *HealthResponse, erro
if err != nil {
return http.StatusInternalServerError, nil, err
}
if cluster == nil {
return http.StatusInternalServerError, nil, fmt.Errorf("failed to fetch cluster details")
}
clusterName = cluster.Name
clusterID = cluster.ID
}

View File

@@ -159,6 +159,10 @@ func handleSysSealStatusRaw(core *vault.Core, w http.ResponseWriter, r *http.Req
respondError(w, http.StatusInternalServerError, err)
return
}
if cluster == nil {
respondError(w, http.StatusInternalServerError, fmt.Errorf("failed to fetch cluster details"))
return
}
clusterName = cluster.Name
clusterID = cluster.ID
}

View File

@@ -23,15 +23,14 @@ type Cluster struct {
}
// Cluster fetches the details of either local or global cluster based on the
// input. This method errors out when Vault is sealed. This function never
// returns a nil Cluster object.
// input. This method errors out when Vault is sealed.
func (c *Core) Cluster() (*Cluster, error) {
var cluster Cluster
// Fetch the storage entry. This call fails when Vault is sealed.
entry, err := c.barrier.Get(coreLocalClusterInfoPath)
if err != nil {
return &cluster, err
return nil, err
}
if entry == nil {
return &cluster, nil
@@ -39,7 +38,7 @@ func (c *Core) Cluster() (*Cluster, error) {
// Decode the cluster information
if err = jsonutil.DecodeJSON(entry.Value, &cluster); err != nil {
return &cluster, fmt.Errorf("failed to decode cluster details: %v", err)
return nil, fmt.Errorf("failed to decode cluster details: %v", err)
}
// Set in config file