From da009db506f541b79f030b99496ed8869b7ed481 Mon Sep 17 00:00:00 2001 From: Marwan Sulaiman Date: Mon, 9 Jul 2018 11:22:46 -0400 Subject: [PATCH] Zeus: check for status code in ModuleStore.Get (#224) --- pkg/storage/olympus/getter.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/storage/olympus/getter.go b/pkg/storage/olympus/getter.go index b0a71624..21afd3cd 100644 --- a/pkg/storage/olympus/getter.go +++ b/pkg/storage/olympus/getter.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "io/ioutil" + "net/http" "github.com/gomods/athens/pkg/config" "github.com/gomods/athens/pkg/storage" @@ -25,6 +26,9 @@ func (s *ModuleStore) Get(module, vsn string) (*storage.Version, error) { return nil, err } defer modResp.Body.Close() + if modResp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("GET %v returned unexpected status: %v", modURI, modResp.StatusCode) + } mod, err = ioutil.ReadAll(modResp.Body) if err != nil { @@ -38,6 +42,9 @@ func (s *ModuleStore) Get(module, vsn string) (*storage.Version, error) { return nil, err } defer zipResp.Body.Close() + if zipResp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("GET %v returned unexpected status: %v", zipURI, zipResp.StatusCode) + } zip, err = ioutil.ReadAll(zipResp.Body) if err != nil { @@ -51,6 +58,9 @@ func (s *ModuleStore) Get(module, vsn string) (*storage.Version, error) { return nil, err } defer infoResp.Body.Close() + if infoResp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("GET %v returned unexpected status: %v", infoURI, infoResp.StatusCode) + } info, err = ioutil.ReadAll(infoResp.Body) if err != nil {