servant-server-0.20.2: A family of combinators for defining webservices APIs and serving them
Safe HaskellNone
LanguageHaskell2010

Servant.Server.Internal.Handler

Synopsis

Documentation

newtype Handler a Source #

Constructors

Handler 

Fields

Instances

Instances details
MonadIO Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

liftIO :: IO a -> Handler a

MonadCatch Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

catch :: (HasCallStack, Exception e) => Handler a -> (e -> Handler a) -> Handler a

MonadMask Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

mask :: HasCallStack => ((forall a. Handler a -> Handler a) -> Handler b) -> Handler b

uninterruptibleMask :: HasCallStack => ((forall a. Handler a -> Handler a) -> Handler b) -> Handler b

generalBracket :: HasCallStack => Handler a -> (a -> ExitCase b -> Handler c) -> (a -> Handler b) -> Handler (b, c)

MonadThrow Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

throwM :: (HasCallStack, Exception e) => e -> Handler a

Applicative Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

pure :: a -> Handler a

(<*>) :: Handler (a -> b) -> Handler a -> Handler b

liftA2 :: (a -> b -> c) -> Handler a -> Handler b -> Handler c

(*>) :: Handler a -> Handler b -> Handler b

(<*) :: Handler a -> Handler b -> Handler a

Functor Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

fmap :: (a -> b) -> Handler a -> Handler b

(<$) :: a -> Handler b -> Handler a

Monad Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

(>>=) :: Handler a -> (a -> Handler b) -> Handler b

(>>) :: Handler a -> Handler b -> Handler b

return :: a -> Handler a

MonadFail Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

fail :: String -> Handler a

MonadBaseControl IO Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Associated Types

type StM Handler a 
Instance details

Defined in Servant.Server.Internal.Handler

type StM Handler a = Either ServerError a

Methods

liftBaseWith :: (RunInBase Handler IO -> IO a) -> Handler a

restoreM :: StM Handler a -> Handler a

MonadError ServerError Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

MonadBase IO Handler Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

liftBase :: IO α -> Handler α

Generic (Handler a) Source # 
Instance details

Defined in Servant.Server.Internal.Handler

Associated Types

type Rep (Handler a) 
Instance details

Defined in Servant.Server.Internal.Handler

type Rep (Handler a) = D1 ('MetaData "Handler" "Servant.Server.Internal.Handler" "servant-server-0.20.2-grvov9l9wo8ZoGlIfrF6F" 'True) (C1 ('MetaCons "Handler" 'PrefixI 'True) (S1 ('MetaSel ('Just "runHandler'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ExceptT ServerError IO a))))

Methods

from :: Handler a -> Rep (Handler a) x

to :: Rep (Handler a) x -> Handler a

type StM Handler a Source # 
Instance details

Defined in Servant.Server.Internal.Handler

type StM Handler a = Either ServerError a
type Rep (Handler a) Source # 
Instance details

Defined in Servant.Server.Internal.Handler

type Rep (Handler a) = D1 ('MetaData "Handler" "Servant.Server.Internal.Handler" "servant-server-0.20.2-grvov9l9wo8ZoGlIfrF6F" 'True) (C1 ('MetaCons "Handler" 'PrefixI 'True) (S1 ('MetaSel ('Just "runHandler'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ExceptT ServerError IO a))))

runHandler :: Handler a -> IO (Either ServerError a) Source #

pattern MkHandler :: IO (Either ServerError a) -> Handler a Source #

Pattern synonym that matches directly on the inner IO action.

To lift IO actions that don't carry a ServerError, use liftIO instead.