harpoon
HTTP Client
Summary
| Latest Version | Unknown |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:25 |
Tags
Installation
nimble install harpoon
choosenim install harpoon
git clone https://github.com/juancarlospaco/harpoon
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| harpoon | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/juancarlospaco/harpoon |
|---|---|
| Homepage | https://github.com/juancarlospaco/harpoon |
| Registry Source | nimble_official |
README
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.