Skip to content

Port configurable HTTP timeouts to develop (#184)#186

Open
gregwinn wants to merge 2 commits into
developfrom
fix/http-timeouts-to-develop
Open

Port configurable HTTP timeouts to develop (#184)#186
gregwinn wants to merge 2 commits into
developfrom
fix/http-timeouts-to-develop

Conversation

@gregwinn

Copy link
Copy Markdown
Owner

Ports the v0.9.4 hotfix (#184) to the develop line so the next minor doesn't regress (develop lacked the fix). Same change as the released commit fa3fa4d, plus docs.

  • winn_http: each verb takes an optional options map — timeout / recv_timeout / connect_timeout (ms) and follow_redirect; defaults raised to connect 15s / recv 30s. Backward compatible (original arities retained).
  • docs/modules.md: new HTTP "Timeouts & options" section; CHANGELOG [Unreleased] entry.
  • winn_m1_tests:exports_test passes (original arities retained).

The released hotfix is tag v0.9.4 (off main).

🤖 Generated with Claude Code

gregwinn and others added 2 commits June 13, 2026 15:48
hackney's defaults (8s connect / 5s recv) are too aggressive for slower APIs —
valid-but-slow endpoints (foot-traffic / "live" APIs that compute on request)
time out. Each verb now takes an optional trailing Opts map:
  HTTP.post(url, body, %{timeout: 30000})
supporting timeout/recv_timeout, connect_timeout, follow_redirect. Defaults are
connect 15s / recv 30s, all overridable per call. Existing 1-/2-arg calls are
unchanged (delegate with defaults). Verified: a 2s opt fails an 8s endpoint, the
default succeeds; the exports test still passes (old arities retained).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gregwinn gregwinn added bug Something isn't working area/stdlib Standard library modules (logger, crypto, json, etc.) labels Jun 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/stdlib Standard library modules (logger, crypto, json, etc.) bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant