From 20c3f80e7dfd9e453d757199beb2137c09a9f536 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Fri, 13 May 2022 21:14:29 +0700 Subject: cmd/resolver: implement command to delete record on hosts file The command has the following signature, resolver hosts.d rr delete Given the hosts name "hosts" and domain "my.hosts" it will delete all records that have domain name "my.hosts" inside the file. --- cmd/resolver/resolver.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'cmd/resolver/resolver.go') diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go index 62ce953..792f8d9 100644 --- a/cmd/resolver/resolver.go +++ b/cmd/resolver/resolver.go @@ -362,6 +362,24 @@ func (rsol *resolver) doCmdHostsdRecord(args []string) { fmt.Println(string(jsonb)) case subCmdDelete: + args = args[1:] + if len(args) <= 1 { + log.Fatalf("resolver: %s %s: missing arguments", rsol.cmd, subCmd) + } + + resc = rsol.newRescachedClient() + record, err = resc.HostsdRecordDelete(args[0], args[1]) + if err != nil { + log.Fatalf("resolver: %s", err) + } + + jsonb, err = json.MarshalIndent(record, "", " ") + if err != nil { + log.Fatalf("resolver: %s", err) + } + + fmt.Println(string(jsonb)) + default: log.Fatalf("resolver: %s %s: unknown command %s", rsol.cmd, subCmdRR, subCmd) } -- cgit v1.3