checkvist-api is a type-safe, idiomatic Go client library for the Checkvist (https://checkvist.com/) API.
Find a file
Oliver Jakoubek 04258f1e27 Implement HTTP request helper with retry logic
Add internal HTTP helpers to client.go:
- doRequest(ctx, method, path, body, result) for all API calls
- doGet, doPost, doPut, doDelete convenience methods
- Automatic authentication check before each request
- JSON marshaling of request body and unmarshaling of response

Retry logic with exponential backoff:
- Retries on HTTP 429 (Too Many Requests)
- Retries on HTTP 5xx (Server Errors)
- Retries on network errors (timeout, connection reset)
- Respects context cancellation during retry delays
- Configurable via RetryConfig (MaxRetries, BaseDelay, MaxDelay, Jitter)

Debug logging via slog for request/response tracking.

Closes checkvist-api-8u6
2026-01-14 13:28:03 +01:00
.beads Implement HTTP request helper with retry logic 2026-01-14 13:28:03 +01:00
magefiles Initial commit 2026-01-14 12:42:00 +01:00
testdata Initial commit 2026-01-14 12:42:00 +01:00
.gitattributes Initial commit 2026-01-14 12:42:00 +01:00
.gitignore Initial commit 2026-01-14 12:42:00 +01:00
AGENTS.md Initial commit 2026-01-14 12:42:00 +01:00
checklists.go Initial commit 2026-01-14 12:42:00 +01:00
client.go Implement HTTP request helper with retry logic 2026-01-14 13:28:03 +01:00
errors.go Implement error types and sentinel errors 2026-01-14 13:23:48 +01:00
filter.go Initial commit 2026-01-14 12:42:00 +01:00
go.mod Initial commit 2026-01-14 12:42:00 +01:00
LICENSE Initial commit 2026-01-14 12:42:00 +01:00
models.go Implement data models for Checkvist API entities 2026-01-14 13:22:29 +01:00
notes.go Initial commit 2026-01-14 12:42:00 +01:00
options.go Implement Client struct with functional options 2026-01-14 13:25:03 +01:00
tasks.go Initial commit 2026-01-14 12:42:00 +01:00