/rcontext

Per-request context, inspired from Go's

Primary LanguageOCaml

Rcontext

Build and Test

documentation

Rcontext is a immutable context to carry around in the processing of a network request, or any other asynchronous task. It can carry around cross-cutting concerns such as deadlines, tracing information, timing information, debugging tags, etc.

At its core, a Rcontext.t is a wrapper around hmap, alongside a set of standard hmap keys. Each key provides access to some specific information (deadline, timing information, etc.)

The hope is that this can be a lightweight dependency for projects that need to carry this kind of information around, and to help standardize keys. [Rcontext] relies on dune's alternative dependencies to use optional dependencies for standard keys, instead of hard dependencies.

License

MIT