Skip to content

Vaipex/harpoon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages

  • Nim 100.0%