Changes from pull request feedback

1. Use httptest.ResponseRecorder instead of custom implementation
StringResponseWriter.

2. Remove verbose log line in infohandler

Signed-off-by: Edward Wilde <ewilde@gmail.com>
This commit is contained in:
Edward Wilde
2018-07-04 08:07:46 +01:00
committed by Alex Ellis
parent aca2c7fe2a
commit 28c9ccd0aa
2 changed files with 11 additions and 42 deletions

View File

@ -5,6 +5,9 @@ import (
"log"
"net/http"
"io/ioutil"
"net/http/httptest"
"github.com/openfaas/faas/gateway/types"
"github.com/openfaas/faas/gateway/version"
)
@ -12,16 +15,19 @@ import (
// MakeInfoHandler is responsible for display component version information
func MakeInfoHandler(h http.Handler) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
sw := types.NewStringResponseWriter()
h.ServeHTTP(sw, r)
responseRecorder := httptest.NewRecorder()
h.ServeHTTP(responseRecorder, r)
upstreamCall := responseRecorder.Result()
defer upstreamCall.Body.Close()
log.Printf("Body: %s", sw.Body())
provider := make(map[string]interface{})
providerVersion := &types.VersionInfo{}
err := json.Unmarshal(sw.Body(), &provider)
upstreamBody, _ := ioutil.ReadAll(upstreamCall.Body)
err := json.Unmarshal(upstreamBody, &provider)
if err != nil {
log.Printf("Error unmarshalling provider json. Got %s. Error %s\n", string(sw.Body()), err.Error())
log.Printf("Error unmarshalling provider json from body %s. Error %s\n", upstreamBody, err.Error())
}
versionMap := provider["version"].(map[string]interface{})