podman: simplify code with a switch

simplify the readerFromArg to avoid the same boilerplate code.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
Giuseppe Scrivano
2023-04-27 12:08:14 +02:00
parent bac57409fe
commit 891bc117e4

@ -346,34 +346,26 @@ func playKube(cmd *cobra.Command, args []string) error {
} }
func readerFromArg(fileName string) (*bytes.Reader, error) { func readerFromArg(fileName string) (*bytes.Reader, error) {
errURL := parse.ValidURL(fileName) var reader io.Reader
if fileName == "-" { // Read from stdin switch {
data, err := io.ReadAll(os.Stdin) case fileName == "-": // Read from stdin
if err != nil { reader = os.Stdin
return nil, err case parse.ValidURL(fileName) == nil:
}
return bytes.NewReader(data), nil
}
if errURL == nil {
response, err := http.Get(fileName) response, err := http.Get(fileName)
if err != nil { if err != nil {
return nil, err return nil, err
} }
defer response.Body.Close() defer response.Body.Close()
reader = response.Body
data, err := io.ReadAll(response.Body) default:
if err != nil {
return nil, err
}
return bytes.NewReader(data), nil
}
f, err := os.Open(fileName) f, err := os.Open(fileName)
if err != nil { if err != nil {
return nil, err return nil, err
} }
defer f.Close() defer f.Close()
reader = f
data, err := io.ReadAll(f) }
data, err := io.ReadAll(reader)
if err != nil { if err != nil {
return nil, err return nil, err
} }