From 8383a241fc3cf5b022c9c53f8f19690edf04177b Mon Sep 17 00:00:00 2001 From: s Date: Mon, 10 Nov 2025 15:22:32 -0500 Subject: refactor: restructure client modules and add config file support - Split large osint.go client into focused modules (bssid.go, breachforum.go, buckets.go, etc.) - Add config file support with init command for API key management - Remove api-key flag in favor of config file + env var fallback - Update API paths to remove /osint prefix - Add crawl endpoint streaming support - Improve error handling with 402 payment required status --- internal/client/skiptrace.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'internal/client/skiptrace.go') diff --git a/internal/client/skiptrace.go b/internal/client/skiptrace.go index 6b84336..d4e26ea 100644 --- a/internal/client/skiptrace.go +++ b/internal/client/skiptrace.go @@ -75,6 +75,8 @@ func (c *Client) getSSE(path string, params url.Values) ([]byte, error) { if resp.StatusCode != http.StatusOK { bodyBytes, _ := io.ReadAll(resp.Body) switch resp.StatusCode { + case http.StatusPaymentRequired: + return nil, fmt.Errorf("insufficient credits (402): %s - Please add credits to your account", string(bodyBytes)) case http.StatusForbidden: return nil, fmt.Errorf("access denied (403): %s - This endpoint requires premium access", string(bodyBytes)) case http.StatusUnauthorized: -- cgit v1.2.3