MCPcopy
hub / github.com/urfave/cli / downloadFile

Function downloadFile

scripts/build.go:198–233  ·  scripts/build.go::downloadFile
(src, dest string, dirPerm, perm os.FileMode)

Source from the content-addressed store, hash-verified

196}
197
198func downloadFile(src, dest string, dirPerm, perm os.FileMode) error {
199 req, err := http.NewRequest(http.MethodGet, src, nil)
200 if err != nil {
201 return err
202 }
203
204 resp, err := http.DefaultClient.Do(req)
205 if err != nil {
206 return err
207 }
208
209 defer resp.Body.Close()
210
211 if resp.StatusCode >= 300 {
212 return fmt.Errorf("download file from %[2]s into %[3]s: response %[1]v", resp.StatusCode, src, dest)
213 }
214
215 if err := os.MkdirAll(filepath.Dir(dest), dirPerm); err != nil {
216 return err
217 }
218
219 out, err := os.Create(dest)
220 if err != nil {
221 return err
222 }
223
224 if _, err := io.Copy(out, resp.Body); err != nil {
225 return err
226 }
227
228 if err := out.Close(); err != nil {
229 return err
230 }
231
232 return os.Chmod(dest, perm)
233}
234
235func VetActionFunc(ctx context.Context, cmd *cli.Command) error {
236 return runCmd(ctx, "go", "vet", cmd.String("top-dir")+"/...")

Callers 1

EnsureGfmrunActionFuncFunction · 0.85

Calls 1

CreateMethod · 0.65

Tested by

no test coverage detected