From 891bc117e465babd60ac6ad280cad718e9e9c6e5 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Thu, 27 Apr 2023 12:08:14 +0200 Subject: [PATCH] podman: simplify code with a switch simplify the readerFromArg to avoid the same boilerplate code. Signed-off-by: Giuseppe Scrivano --- cmd/podman/kube/play.go | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/cmd/podman/kube/play.go b/cmd/podman/kube/play.go index 93e8ed4d39..663c89de21 100644 --- a/cmd/podman/kube/play.go +++ b/cmd/podman/kube/play.go @@ -346,34 +346,26 @@ func playKube(cmd *cobra.Command, args []string) error { } func readerFromArg(fileName string) (*bytes.Reader, error) { - errURL := parse.ValidURL(fileName) - if fileName == "-" { // Read from stdin - data, err := io.ReadAll(os.Stdin) - if err != nil { - return nil, err - } - return bytes.NewReader(data), nil - } - if errURL == nil { + var reader io.Reader + switch { + case fileName == "-": // Read from stdin + reader = os.Stdin + case parse.ValidURL(fileName) == nil: response, err := http.Get(fileName) if err != nil { return nil, err } defer response.Body.Close() - - data, err := io.ReadAll(response.Body) + reader = response.Body + default: + f, err := os.Open(fileName) if err != nil { return nil, err } - return bytes.NewReader(data), nil + defer f.Close() + reader = f } - f, err := os.Open(fileName) - if err != nil { - return nil, err - } - defer f.Close() - - data, err := io.ReadAll(f) + data, err := io.ReadAll(reader) if err != nil { return nil, err }