From f897bc3ca56f3e6ff4a0bb2f538c0033047c092d Mon Sep 17 00:00:00 2001 From: David Allen Date: Thu, 28 Aug 2025 19:43:53 -0600 Subject: [PATCH] fix: issue with downloading without hooks --- internal/archive/archive.go | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/internal/archive/archive.go b/internal/archive/archive.go index 0e727b0..5145afe 100644 --- a/internal/archive/archive.go +++ b/internal/archive/archive.go @@ -72,10 +72,14 @@ func addToArchive(tw *tar.Writer, filename string, hooks []makeshift.Hook) error } } - // open file to write to archive - file, err = os.Open(tempfile) + // use original file if no hooks to write archive + if len(hooks) == 0 { + file, err = os.Open(filename) + } else { + file, err = os.Open(tempfile) + } if err != nil { - return fmt.Errorf("failed to open temporary file: %v", err) + return fmt.Errorf("failed to open archive file: %v", err) } defer file.Close() @@ -108,15 +112,21 @@ func addToArchive(tw *tar.Writer, filename string, hooks []makeshift.Hook) error } // copy file content to tar archive - _, err = io.Copy(tw, strings.NewReader(string(data.([]byte)))) + if len(hooks) == 0 { + _, err = io.Copy(tw, file) + } else { + _, err = io.Copy(tw, strings.NewReader(string(data.([]byte)))) + } if err != nil { return err } // delete the temporary file since we're done with it - err = os.Remove(tempfile) - if err != nil { - return err + if len(hooks) != 0 { + err = os.Remove(tempfile) + if err != nil { + return err + } } return nil