mirror of
https://github.com/rancher/steve.git
synced 2025-07-31 06:23:11 +00:00
Small refactor around decoding
This commit is contained in:
parent
e16f85944b
commit
cdd4df62fd
@ -57,7 +57,7 @@ func HandleHelmData(request *types.APIRequest, resource *types.RawResource) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Pod(request *types.APIRequest, resource *types.RawResource) {
|
func Pod(_ *types.APIRequest, resource *types.RawResource) {
|
||||||
data := resource.APIObject.Data()
|
data := resource.APIObject.Data()
|
||||||
fields := data.StringSlice("metadata", "fields")
|
fields := data.StringSlice("metadata", "fields")
|
||||||
if len(fields) > 2 {
|
if len(fields) > 2 {
|
||||||
@ -77,25 +77,23 @@ func decodeHelm3(data string) (*release.Release, error) {
|
|||||||
if len(b) <= 3 {
|
if len(b) <= 3 {
|
||||||
return nil, ErrNotHelmRelease
|
return nil, ErrNotHelmRelease
|
||||||
}
|
}
|
||||||
|
var r io.Reader = bytes.NewReader(b)
|
||||||
|
|
||||||
// For backwards compatibility with releases that were stored before
|
// For backwards compatibility with releases that were stored before
|
||||||
// compression was introduced we skip decompression if the
|
// compression was introduced we skip decompression if the
|
||||||
// gzip magic header is not found
|
// gzip magic header is not found
|
||||||
if bytes.Equal(b[0:3], magicGzip) {
|
if bytes.Equal(b[0:3], magicGzip) {
|
||||||
r, err := gzip.NewReader(bytes.NewReader(b))
|
gzr, err := gzip.NewReader(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
b2, err := io.ReadAll(r)
|
defer gzr.Close()
|
||||||
if err != nil {
|
r = gzr
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
b = b2
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var rls release.Release
|
var rls release.Release
|
||||||
// unmarshal release object bytes
|
// unmarshal release object bytes
|
||||||
if err := json.Unmarshal(b, &rls); err != nil {
|
if err := json.NewDecoder(r).Decode(&rls); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return &rls, nil
|
return &rls, nil
|
||||||
@ -116,6 +114,8 @@ func decodeHelm2(data string) (*rspb.Release, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
defer r.Close()
|
||||||
|
|
||||||
b2, err := io.ReadAll(r)
|
b2, err := io.ReadAll(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
Loading…
Reference in New Issue
Block a user