A web requests library for Reason(ML), based on cURL and libuv.
🚧 Warning: This library is a WIP and the API may change frequently 🚧
ReQuests was created to serve as a lightweight & cross-platform web requests library for Onivim2. The benefit of ReQuests is that:
- It uses
libcurl
, one of the most ubiquitous native libraries in existence, created and supported by some of the largest tech companies. Usinglibcurl
on it's own provides numerous benefits:- All the "hard stuff" is already done. While writing an HTTP/2 implementation from scratch in OCaml sounds interesting, it would severely slow down the development velocity of the project. cURL has HTTP/2 support by default (at least in recent versions), and that's only one facet of what you need from a requests library!
- It works cross-platform. Many brave souls have tried to write request libraries for Reason, including @lessp's fetch. The Achilles' heel of these attempts has always been Windows. Having that working by default (well, almost) is incredibly beneficial.
- It uses
libuv
, a robust event-based library that's used by Onivim2 and Node. It's lightweight, and integrates well with Oni and Revery.