in internal/cmds/cmds.go [560:587]
func downloadScript(ctx *log.Context, dir string, cfg *handlersettings.HandlerSettings) (string, error) {
// - prepare the output directory for files and the command output
// - create the directory if missing
ctx.Log("event", "creating output directory", "path", dir)
if err := os.MkdirAll(dir, 0700); err != nil {
return "", errors.Wrap(err, "failed to prepare output directory")
}
ctx.Log("event", "created output directory")
dos2unix := 1
// - download scriptURI
scriptFilePath := ""
scriptURI := cfg.ScriptURI()
ctx.Log("scriptUri", scriptURI)
if scriptURI != "" {
telemetryResult("scenario", fmt.Sprintf("source.scriptUri;dos2unix=%d", dos2unix), true, 0*time.Millisecond)
ctx.Log("event", "download start")
file, err := files.DownloadAndProcessScript(ctx, scriptURI, dir, cfg)
if err != nil {
ctx.Log("event", "download failed", "error", err)
return "", errors.Wrapf(err, "failed to download file %s. ", scriptURI)
}
scriptFilePath = file
ctx.Log("event", "download complete", "output", dir)
}
return scriptFilePath, nil
}