diff options
author | baude <bbaude@redhat.com> | 2020-01-15 12:28:46 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2020-01-15 14:22:25 -0600 |
commit | a6ea17455cb0c7bdc3d250e57e20d6dc9f5df45d (patch) | |
tree | f213779a9052f2aa375ca7bcf63156e9a0449466 /pkg/bindings/errors.go | |
parent | 34429f3b534960d2505789fcb0ac0278fc4aa4c0 (diff) | |
download | podman-a6ea17455cb0c7bdc3d250e57e20d6dc9f5df45d.tar.gz podman-a6ea17455cb0c7bdc3d250e57e20d6dc9f5df45d.tar.bz2 podman-a6ea17455cb0c7bdc3d250e57e20d6dc9f5df45d.zip |
[CI:DOCS]swagger cleanup and left-hand nav
add a static tags file so we can dictate the left-hand navigation. in
doing so we now override the tag in the swagger:operation. we now have
images and images (compat) as a way to differentiate.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/bindings/errors.go')
-rw-r--r-- | pkg/bindings/errors.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/pkg/bindings/errors.go b/pkg/bindings/errors.go new file mode 100644 index 000000000..9a02925a3 --- /dev/null +++ b/pkg/bindings/errors.go @@ -0,0 +1,46 @@ +package bindings + +import ( + "encoding/json" + "io/ioutil" + "net/http" + + "github.com/containers/libpod/pkg/api/handlers/utils" + "github.com/pkg/errors" + "github.com/sirupsen/logrus" +) + +var ( + ErrNotImplemented = errors.New("function not implemented") +) + +func handleError(data []byte) error { + e := utils.ErrorModel{} + if err := json.Unmarshal(data, &e); err != nil { + return err + } + return e +} + +func (a APIResponse) Process(unmarshalInto interface{}) error { + data, err := ioutil.ReadAll(a.Response.Body) + if err != nil { + return errors.Wrap(err, "unable to process API response") + } + if a.Response.StatusCode == http.StatusOK { + if unmarshalInto != nil { + return json.Unmarshal(data, unmarshalInto) + } + return nil + } + // TODO should we add a debug here with the response code? + return handleError(data) +} + +func closeResponseBody(r *http.Response) { + if r != nil { + if err := r.Body.Close(); err != nil { + logrus.Error(errors.Wrap(err, "unable to close response body")) + } + } +} |