From a5f907854f29e1c267ad30d1dfe85c2c47f5ac48 Mon Sep 17 00:00:00 2001 From: sinner Date: Wed, 15 Apr 2026 15:16:02 -0400 Subject: feat: add stdin support and retry logic for all search commands --- cmd/breachforum.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'cmd/breachforum.go') diff --git a/cmd/breachforum.go b/cmd/breachforum.go index 63254c1..229292a 100644 --- a/cmd/breachforum.go +++ b/cmd/breachforum.go @@ -11,7 +11,7 @@ var breachforumCmd = &cobra.Command{ Aliases: []string{"brf"}, Short: "Search BreachForum data", Long: `Search breachdetect index for BreachForum messages and detections`, - Args: cobra.ExactArgs(1), + Args: argsOrStdin(1), RunE: runBreachForumSearch, } @@ -26,15 +26,17 @@ func runBreachForumSearch(cmd *cobra.Command, args []string) error { return err } - params := &models.BreachForumSearchParams{ - Search: args[0], - } - params.MaxHits, _ = cmd.Flags().GetInt("max_hits") - - response, err := c.SearchBreachForum(params) - if err != nil { - return err - } + maxHits, _ := cmd.Flags().GetInt("max_hits") - return formatter.FormatBreachForumResults(response, IsJSONOutput()) + return forEachQuery(args, func(query string) error { + params := &models.BreachForumSearchParams{ + Search: query, + MaxHits: maxHits, + } + response, err := c.SearchBreachForum(params) + if err != nil { + return err + } + return formatter.FormatBreachForumResults(response, IsJSONOutput()) + }) } -- cgit v1.2.3