Nous.HTTP.Backend.Hackney (nous v0.15.6)

View Source

Nous.HTTP.Backend implementation backed by :hackney.

Uses :hackney.request/5 synchronously — hackney 4 returns the full response body inline as {:ok, status, headers, body} (the legacy hackney.body/1 follow-up call from hackney 1.x was removed in v4). Hackney 4 is already in the dependency tree from 0.15.0 (used for streaming) — this backend lets users consolidate non-streaming HTTP onto the same library without keeping Finch/Mint in the hot path.

TLS verification mirrors the streaming side: explicit verify: :verify_peer with system CAs from :public_key.cacerts_get/0. Hackney's default is :verify_none, which would silently accept MITM'd connections — do not regress this.

Pool: uses hackney's :default pool (50 conns, 2s idle keepalive). Apps that want isolation can pass pool: :my_pool per call after starting the pool with :hackney_pool.start_pool/2.