All API requests are bound through this monad which encapsulates an Lwt cooperative thread and includes some state which may be set via
val return : 'a -> 'a t
return x is the value
x wrapped in a state-sensitive Lwt thread.
bind m f is the eventual value of
f applied to the contents of
m. Its argument order is designed for currying.
map f m is
m (fun x -> return (f x)). Its argument order is designed for currying.
catch try with is the result of trying
try succeeds, its result is returned. If
try raises an exception,
with is applied to the exception and the result of
with is returned.
val fail : exn -> 'a t
fail exn raises exception
exn inside of the monad.
run m is the Lwt thread corresponding to the sequence of API actions represented by
m. Once a
t has been
run, any GitLab API state such as associated default security tokens or declared user agent string will not be available in subsequently bound functions.
embed lwt is an Lwt thread lifted into the GitLab API monad. Its monadic state will be inherited from any monadic values bound before it.