Vaipex / harpoon

HTTP Harpoon, HTTP Client

Home Page:https://juancarlospaco.github.io/harpoon

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 Uri type for URL.
  • Response has isIpv6: bool attribute.
  • GET and POST from JSON to JSON directly.
  • downloadFile that takes openArray of 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 HttpMethod enum, not strings. Status code use HttpCode not integers.
  • Share a Socket with multiple clients, reuse Socket.
  • Theres no open/close functions for the client, just call get() or post().
  • Works with Threads, Tasks, and other Async implementations.
  • Uses very few symbols from stdlib, very future proof.
  • runnableExamples with doAssert for everything.
  • Documentation online.

About

HTTP Harpoon, HTTP Client

https://juancarlospaco.github.io/harpoon

License:MIT License


Languages

Language:Nim 100.0%