feat(go): step 5 — failure handling with classified exit codes
Classify network failures (dns/connect/timeout/tls) with distinct exit codes 2-5. Add --timeout (default 10s) via context.WithTimeout. Add --fail for exit 6 on HTTP status >= 400. Preserve partial phase timing up to the failure point. -n sampling continues on network failures, aggregating successes and reporting fail counts. JSON extended with succeeded/failed/errors fields. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
12
CHANGELOG.md
12
CHANGELOG.md
@@ -4,6 +4,18 @@ All completed features are logged here in reverse-chronological order.
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-01 00:38 — Failure handling (Go, Step 5)
|
||||
|
||||
- Classified network failures into `dns` / `connect` / `timeout` / `tls` with distinct exit codes (2–5)
|
||||
- Partial timing preserved up to the failure point (e.g. DNS phase shown on NXDOMAIN)
|
||||
- `--timeout` flag (default 10s) applied via `context.WithTimeout`
|
||||
- `--fail` flag: HTTP status ≥ 400 → exit code 6 (curl-style)
|
||||
- `-n` sampling continues on network failure; aggregates successes, reports fail count + cause
|
||||
- JSON output extended with `succeeded`, `failed`, `errors[]` fields
|
||||
- Highest exit code across all URLs/failure types is used as the process exit
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-01 00:08 — JSON output flag (Go, Step 4)
|
||||
|
||||
- `--json` flag emits a JSON array with one entry per URL
|
||||
|
||||
Reference in New Issue
Block a user