mirror of
https://github.com/juancarlospaco/harpoon
synced 2026-01-14 20:01:45 +00:00
No description
| .github | ||
| bench | ||
| docs | ||
| mini | ||
| src | ||
| .gitignore | ||
| harpoon.nimble | ||
| LICENSE | ||
| README.md | ||
HTTP Harpoon: Clandestine HTTP Client.
- 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.