(r io.Reader)
| 109 | } |
| 110 | |
| 111 | func writeTempFile(r io.Reader) (path string, err error) { |
| 112 | tempFile, err := os.CreateTemp("", "devbox-nix-installer-") |
| 113 | if err != nil { |
| 114 | return "", fmt.Errorf("create temp file: %v", err) |
| 115 | } |
| 116 | |
| 117 | _, err = io.Copy(tempFile, r) |
| 118 | closeErr := tempFile.Close() |
| 119 | if err == nil && closeErr != nil { |
| 120 | err = fmt.Errorf("close temp file: %v", closeErr) |
| 121 | } |
| 122 | |
| 123 | if err != nil { |
| 124 | os.Remove(tempFile.Name()) |
| 125 | return "", err |
| 126 | } |
| 127 | return tempFile.Name(), nil |
| 128 | } |