Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Servant.Server.Internal.DelayedIO
Synopsis
- newtype DelayedIO a = DelayedIO {
- runDelayedIO' :: ReaderT Request (ResourceT (RouteResultT IO)) a
- liftRouteResult :: RouteResult a -> DelayedIO a
- runDelayedIO :: DelayedIO a -> Request -> ResourceT IO (RouteResult a)
- delayedFail :: ServerError -> DelayedIO a
- delayedFailFatal :: ServerError -> DelayedIO a
- withRequest :: (Request -> DelayedIO a) -> DelayedIO a
Documentation
Computations used in a Delayed
can depend on the
incoming Request
, may perform IO
, and result in a
RouteResult
, meaning they can either succeed, fail
(with the possibility to recover), or fail fatally.
Constructors
DelayedIO | |
Fields
|
Instances
MonadIO DelayedIO # | |
Defined in Servant.Server.Internal.DelayedIO | |
Applicative DelayedIO # | |
Defined in Servant.Server.Internal.DelayedIO | |
Functor DelayedIO # | |
Monad DelayedIO # | |
MonadThrow DelayedIO # | |
Defined in Servant.Server.Internal.DelayedIO Methods throwM :: (HasCallStack, Exception e) => e -> DelayedIO a # | |
MonadResource DelayedIO # | |
Defined in Servant.Server.Internal.DelayedIO Methods liftResourceT :: ResourceT IO a -> DelayedIO a # | |
MonadBaseControl IO DelayedIO # | |
MonadReader Request DelayedIO # | |
MonadBase IO DelayedIO # | |
Defined in Servant.Server.Internal.DelayedIO | |
type StM DelayedIO a # | |
Defined in Servant.Server.Internal.DelayedIO |
liftRouteResult :: RouteResult a -> DelayedIO a #
runDelayedIO :: DelayedIO a -> Request -> ResourceT IO (RouteResult a) #
delayedFail :: ServerError -> DelayedIO a #
Fail with the option to recover.
delayedFailFatal :: ServerError -> DelayedIO a #
Fail fatally, i.e., without any option to recover.
withRequest :: (Request -> DelayedIO a) -> DelayedIO a #
Gain access to the incoming request.