- Same API as stdlib
HttpClient. - 1 file, 0 dependencies, 300 lines, pure Nim.
- No Curl nor LibCurl dependencies.
- Async and sync client.
- Works with ARC and ORC.
- Works with
strictFuncs. - Uses
Uritype for URL. - Response has
isIpv6: boolattribute. GETandPOSTfrom JSON to JSON directly.downloadFilethat takesopenArrayof URLs.- HTTP Headers can be compile-time immutable
const. - Proxy support, with Auth.
- Timeout support for Async and Sync.
- Option to skip parsing Headers or Status or Body, if you dont need them.
- HTTP Methods use
HttpMethodenum, not strings. Status code useHttpCodenot integers. - No heavy objects, designed as a tiny
procattached to a vanillaSocket. - Share a
Socketwith multiple clients, reuseSocket. - Theres no open/close functions for the client, just call
get()orpost(). - Works with Threads, Tasks, and other Async implementations.
- Uses very few symbols from stdlib, very future proof.
runnableExampleswithdoAssertfor everything.- Documentation online.