package sihl

  1. Overview
  2. Docs
The modular functional web framework

Install

Dune Dependency

Authors

Maintainers

Sources

sihl-queue-0.1.7.tbz
sha256=a432c28b88610b8ef914aa93d1be5bf3ad4b357ebaa8e95848e981ea30611cd4
sha512=e85a2c2935973826ef29191d6a784dca53660c8df55a98174d7326a8a73865cf7f35bfae034b179d85f30bb809985da3c6d170608da2e9ac9763b8fd1f8a1a4e

doc/sihl.core/Sihl_core/Ctx/index.html

Module Sihl_core.CtxSource

The service request context is a key value store that can be used to pass arbitrary values from one service to another within the same request.

Key

Sourcetype 'a key

The key of a value that can be stored in the context. The type of the key has to be indicated explicitly.

Sourceval create_key : unit -> 'a key

create_key () creates a key that can be used to store and retrieve values. The type needs to be indicated explicitly.

Example

  let string_key: string = Sihl.Core.Ctx.create_key () in
  let int_key: int = Sihl.Core.Ctx.create_key () in
  let foo_key: Foo.t = Sihl.Core.Ctx.create_key ()

Map

Sourcetype t

The service request context is a heterogeneous map that can store values of different types. It is typically used to pass values to services that are either 1) only valid in the context of a service request or 2) whose types are hidden so that different service implementations of the same interface can take different values.

Sourceval add : 'a key -> 'a -> t -> t

add key ctx adds a value for the key. If there is a value stored with the key it will be silently replaced.

Sourceval find : 'a key -> t -> 'a option

find key ctx returns the stored value.

Sourceval remove : 'a key -> t -> t

remove key ctx returns the context with the removed value behind the key.

Sourceval id : t -> string

id ctx returns the id of the context ctx. The ids of the currently active and used contexts are unique.

Sourceval sexp_of_t : t -> Sexplib0.Sexp.t

sexp_of_t t converts the context t to an s-expression

Sourceval create : ?id:string -> unit -> t

create ?id returns a context with id, if no id is provided one is randomly generated.

OCaml

Innovation. Community. Security.