Files
ExploreDNS/internal/output/runner.go
T
Gary Hansenandmultica-agent 5a54834c5f
CI / test (pull_request) Failing after 2m2s
feat: implement output formatting and display (HAN-383)
Add text and JSON formatters with real-time progress via traverser hooks,
summary statistics, and CLI integration for --show-* and --json flags.

Co-authored-by: multica-agent <github@multica.ai>
2026-06-08 02:21:13 +10:00

37 lines
752 B
Go

package output
import (
"context"
"fmt"
"github.com/hits/ExploreDNS/internal/traverse"
)
func RunTraversal(ctx context.Context, traverser *traverse.Traverser, cfg *Config, formatter Formatter, domain string) ([]traverse.TraversalResult, error) {
if traverser == nil {
return nil, fmt.Errorf("traverser is required")
}
if cfg == nil {
cfg = DefaultConfig()
}
if formatter == nil {
formatter = NewFormatter(cfg, nil)
}
traverser.SetHooks(AttachHooks(cfg, formatter))
results, err := traverser.Traverse(ctx, domain)
if err != nil {
return results, err
}
if err := formatter.WriteSummary(results); err != nil {
return results, err
}
if err := formatter.Flush(); err != nil {
return results, err
}
return results, nil
}