api_bindium
A lightweight crate to provide foundations for creating API binding crates. This aim to provide "batteries included" level of features while keeping itself lightweight
The async api is runtime agnostic (tokio isn't even in the tree!)
Usage exemples
You can find exemple crates at:
Feature flags
Async:
sync: Enable the sync apiasync: Enable the async api (Sync and Async aren't mutually exclusive)
Fetching:
native_tls: Use the system's native TLS. By default, Rustls is used to not have to depend on the system's tlsrustls(default): Use rustls as tls provider.rate_limit: Add a rate limiter to the requests, using thegovernorcrate. Please note that it only affectasyncvariants of functions, asgovernoris made to work in async functions only. If you know a ratelimit crate that does both sync and async, feel free to submit an issue
Debuging:
backtrace: Enable error backtracestracing: Enable tracinghotpath,hotpath-alloc,hotpath-off: Enable hotpath debuging / perf analysis.