From c2fc6d587d9451d8eab91d0baee0c2a894d160b8 Mon Sep 17 00:00:00 2001 From: Balakrishnan Balasubramanian Date: Sun, 31 Mar 2024 12:06:21 -0400 Subject: [PATCH] support printing records to stdout --- main.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 287e545..4d37107 100644 --- a/main.go +++ b/main.go @@ -112,7 +112,7 @@ func main() { flag.StringVar(&token, "a", token, "Cloudflare API Token. env var: CF_TOKEN") flag.TextVar(&ip, "i", ip, "IP address") flag.StringVar(&cname, "c", cname, "CNAME target") - flag.StringVar(&path, "o", path, "Path to save all records as json, e.g. ./records.json") + flag.StringVar(&path, "o", path, "Path to save all records as json, e.g. ./records.json, '-' for stdout") flag.BoolVar(&del, "x", del, "Delete records of subdomain") flag.BoolVar(&mx, "m", mx, "Set mx record with cname value") flag.Parse() @@ -169,14 +169,20 @@ func main() { if err != nil { log.Panicln(err) } - data, err := json.Marshal(recs) + data, err := json.Marshal(recs) if err != nil { log.Panicln(err) } - err = os.WriteFile(path, data, 0644) - if err != nil { - log.Panicln(err) + + if path == "-" { + if _, err = os.Stdout.Write(data); err != nil { + log.Panicln(err) + } + } else { + if err = os.WriteFile(path, data, 0644); err != nil { + log.Panicln(err) + } } } }