Skip to content

Commit 84aa649

Browse files
author
Andrea Spacca
committed
cr fixes
1 parent 3e8bf5a commit 84aa649

File tree

1 file changed

+20
-34
lines changed

1 file changed

+20
-34
lines changed

pkg/genlib/fields/load.go

Lines changed: 20 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,15 @@ package fields
22

33
import (
44
"archive/zip"
5+
"bytes"
56
"context"
6-
"crypto/sha256"
7-
"encoding/hex"
87
"encoding/json"
98
"errors"
109
"fmt"
11-
"github.com/elastic/elastic-integration-corpus-generator-tool/internal/settings"
1210
"io"
1311
"io/ioutil"
1412
"net/http"
1513
"net/url"
16-
"os"
1714
"path"
1815
"path/filepath"
1916
"strings"
@@ -95,38 +92,25 @@ func getFieldsFiles(ctx context.Context, baseURL, integration, dataStream, versi
9592

9693
downloadURL, err := makeDownloadURL(baseURL, downloadPayload.Download)
9794
r, err = getFromURL(ctx, downloadURL.String())
98-
if err != nil {
99-
return nil, err
100-
}
101-
102-
h := sha256.New()
103-
h.Write([]byte(downloadURL.String()))
104-
prefix := hex.EncodeToString(h.Sum(nil))
95+
defer func(r io.ReadCloser) {
96+
if r != nil {
97+
_ = r.Close()
98+
}
99+
}(r)
105100

106-
packageTempDir, err := os.MkdirTemp(settings.CacheDir(), prefix)
107-
if err != nil {
108-
return nil, err
109-
}
110-
packageArchive := path.Join(packageTempDir, "package.zip")
111-
f, err := os.Create(packageArchive)
112101
if err != nil {
113102
return nil, err
114103
}
115104

116-
_, err = io.Copy(f, r)
117-
_ = f.Close()
105+
zipContent, err := ioutil.ReadAll(r)
118106
if err != nil {
119-
120107
return nil, err
121108
}
122109

123-
archive, err := zip.OpenReader(packageArchive)
110+
archive, err := zip.NewReader(bytes.NewReader(zipContent), int64(len(zipContent)))
124111
if err != nil {
125112
return nil, err
126113
}
127-
defer func() {
128-
_ = archive.Close()
129-
}()
130114

131115
prefixFieldsPath := path.Join(fmt.Sprintf("%s-%s", integration, version), dataStreamSlug, dataStream, fieldsSlug)
132116

@@ -143,11 +127,17 @@ func getFieldsFiles(ctx context.Context, baseURL, integration, dataStream, versi
143127
fieldsFileName := z.Name
144128
zr, err := z.Open()
145129
if err != nil {
130+
if zr != nil {
131+
_ = zr.Close()
132+
}
146133
return nil, err
147134
}
148135

149136
fieldsFileContent, err := ioutil.ReadAll(zr)
150137
if err != nil {
138+
if zr != nil {
139+
_ = zr.Close()
140+
}
151141
return nil, err
152142
}
153143

@@ -175,20 +165,16 @@ func getFromURL(ctx context.Context, srcURL string) (io.ReadCloser, error) {
175165
client := &http.Client{}
176166
resp, err := client.Do(req)
177167
if err != nil {
178-
defer func(r io.ReadCloser) {
179-
if r != nil {
180-
_ = r.Close()
181-
}
182-
}(resp.Body)
168+
if resp.Body != nil {
169+
_ = resp.Body.Close()
170+
}
183171
return nil, err
184172
}
185173

186174
if resp.StatusCode != http.StatusOK {
187-
defer func(r io.ReadCloser) {
188-
if r != nil {
189-
_ = r.Close()
190-
}
191-
}(resp.Body)
175+
if resp.Body != nil {
176+
_ = resp.Body.Close()
177+
}
192178
return nil, ErrNotFound
193179
}
194180

0 commit comments

Comments
 (0)