Skip to content

Commit 3724d81

Browse files
authored
chore: simplify error handling in template push (#6065)
1 parent 46fe59f commit 3724d81

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

cli/templatepush.go

+4-14
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,10 @@ func (pf *templateUploadFlags) stdin() bool {
3535

3636
func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Client) (*codersdk.UploadResponse, error) {
3737
var (
38-
content io.Reader
39-
pipeErrCh = make(chan error, 1)
38+
content io.Reader
4039
)
4140
if pf.stdin() {
4241
content = cmd.InOrStdin()
43-
// No piping if reading from stdin.
44-
pipeErrCh <- nil
45-
close(pipeErrCh)
4642
} else {
4743
prettyDir := prettyDirectoryPath(pf.directory)
4844
_, err := cliui.Prompt(cmd, cliui.PromptOptions{
@@ -56,11 +52,8 @@ func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Clien
5652

5753
pipeReader, pipeWriter := io.Pipe()
5854
go func() {
59-
defer pipeWriter.Close()
60-
defer close(pipeErrCh)
61-
bufWr := bufio.NewWriter(pipeWriter)
62-
defer bufWr.Flush()
63-
pipeErrCh <- provisionersdk.Tar(bufWr, pf.directory, provisionersdk.TemplateArchiveLimit)
55+
err := provisionersdk.Tar(pipeWriter, pf.directory, provisionersdk.TemplateArchiveLimit)
56+
_ = pipeWriter.CloseWithError(err)
6457
}()
6558
defer pipeReader.Close()
6659
content = pipeReader
@@ -72,13 +65,10 @@ func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Clien
7265
spin.Start()
7366
defer spin.Stop()
7467

75-
resp, err := client.Upload(cmd.Context(), codersdk.ContentTypeTar, content)
68+
resp, err := client.Upload(cmd.Context(), codersdk.ContentTypeTar, bufio.NewReader(content))
7669
if err != nil {
7770
return nil, xerrors.Errorf("upload: %w", err)
7871
}
79-
if err = <-pipeErrCh; err != nil {
80-
return nil, xerrors.Errorf("pipe: %w", err)
81-
}
8272
return &resp, nil
8373
}
8474

0 commit comments

Comments
 (0)