yam-0.5.3: Yam Web

Safe HaskellNone
LanguageHaskell2010

Yam.Internal

Contents

Synopsis

Application Functions

startYam :: forall api. (HasSwagger api, HasServer api '[Env]) => AppConfig -> SwaggerConfig -> LogConfig -> Bool -> Version -> [AppMiddleware] -> Proxy api -> ServerT api App -> IO () Source #

start :: forall api. (HasSwagger api, HasServer api '[Env]) => Properties -> Version -> [AppMiddleware] -> Proxy api -> ServerT api App -> IO () Source #

type App = AppM IO Source #

Logger Function

data LogConfig Source #

Instances
Eq LogConfig Source # 
Instance details

Defined in Yam.Logger

Show LogConfig Source # 
Instance details

Defined in Yam.Logger

FromJSON LogConfig Source # 
Instance details

Defined in Yam.Logger

Default LogConfig Source # 
Instance details

Defined in Yam.Logger

Methods

def :: LogConfig #

Environment

data AppConfig Source #

Constructors

AppConfig 

Fields

Instances
Eq AppConfig Source # 
Instance details

Defined in Yam.Types

Show AppConfig Source # 
Instance details

Defined in Yam.Types

FromJSON AppConfig Source # 
Instance details

Defined in Yam.Types

Default AppConfig Source # 
Instance details

Defined in Yam.Types

Methods

def :: AppConfig #

data Env Source #

Instances
Default Env Source # 
Instance details

Defined in Yam.Types

Methods

def :: Env #

Monad m => MonadReader Env (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

ask :: AppM m Env #

local :: (Env -> Env) -> AppM m a -> AppM m a #

reader :: (Env -> a) -> AppM m a #

getAttr :: Key a -> Env -> Maybe a Source #

setAttr :: Key a -> a -> Env -> Env Source #

reqAttr :: Default a => Key a -> Env -> a Source #

AppM Monad

data AppM m a Source #

Instances
Monad m => MonadReader Env (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

ask :: AppM m Env #

local :: (Env -> Env) -> AppM m a -> AppM m a #

reader :: (Env -> a) -> AppM m a #

MonadTrans (AppM :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Yam.Types

Methods

lift :: Monad m => m a -> AppM m a #

Monad m => Monad (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

(>>=) :: AppM m a -> (a -> AppM m b) -> AppM m b #

(>>) :: AppM m a -> AppM m b -> AppM m b #

return :: a -> AppM m a #

fail :: String -> AppM m a #

Functor m => Functor (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

fmap :: (a -> b) -> AppM m a -> AppM m b #

(<$) :: a -> AppM m b -> AppM m a #

Applicative m => Applicative (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

pure :: a -> AppM m a #

(<*>) :: AppM m (a -> b) -> AppM m a -> AppM m b #

liftA2 :: (a -> b -> c) -> AppM m a -> AppM m b -> AppM m c #

(*>) :: AppM m a -> AppM m b -> AppM m b #

(<*) :: AppM m a -> AppM m b -> AppM m a #

MonadIO m => MonadIO (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

liftIO :: IO a -> AppM m a #

MonadUnliftIO m => MonadUnliftIO (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

askUnliftIO :: AppM m (UnliftIO (AppM m)) #

withRunInIO :: ((forall a. AppM m a -> IO a) -> IO b) -> AppM m b #

MonadIO m => MonadLogger (AppM m) Source # 
Instance details

Defined in Yam.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> AppM m () #

MonadIO m => MonadLoggerIO (AppM m) Source # 
Instance details

Defined in Yam.Logger

Methods

askLoggerIO :: AppM m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) #

runAppM :: Env -> AppM m a -> m a Source #

withAppM :: MonadIO m => (Env -> Env) -> AppM m a -> AppM m a Source #

askAttr :: MonadIO m => Key a -> AppM m (Maybe a) Source #

withAttr :: MonadIO m => Key a -> a -> AppM m b -> AppM m b Source #

requireAttr :: MonadIO m => Key a -> AppM m a Source #

Application Middleware

simpleAppMiddleware :: HasCallStack => (Bool, Text) -> Key a -> a -> AppMiddleware Source #

Simple AppMiddleware

Utilities

type LogFunc = Loc -> LogSource -> LogLevel -> LogStr -> IO () Source #

showText :: Show a => a -> Text Source #

Reexport Functions

type Key = Key RealWorld #

Keys for the vault.

newKey :: IO (Key a) #

Create a new key for use with a vault.

type Middleware = Application -> Application #

Middleware is a component that sits between the server and application. It can do such tasks as GZIP encoding or response caching. What follows is the general definition of middleware, though a middleware author should feel free to modify this.

As an example of an alternate type for middleware, suppose you write a function to load up session information. The session information is simply a string map \[(String, String)\]. A logical type signature for this middleware might be:

 loadSession :: ([(String, String)] -> Application) -> Application

Here, instead of taking a standard Application as its first argument, the middleware takes a function which consumes the session information as well.

data Request #

Information on the request sent by the client. This abstracts away the details of the underlying implementation.

Instances
Show Request 
Instance details

Defined in Network.Wai.Internal

MonadReader Request DelayedIO 
Instance details

Defined in Servant.Server.Internal.RoutingApplication

Methods

ask :: DelayedIO Request #

local :: (Request -> Request) -> DelayedIO a -> DelayedIO a #

reader :: (Request -> a) -> DelayedIO a #

lift :: (MonadTrans t, Monad m) => m a -> t m a #

Lift a computation from the argument monad to the constructed monad.

when :: Applicative f => Bool -> f () -> f () #

Conditional execution of Applicative expressions. For example,

when debug (putStrLn "Debugging")

will output the string Debugging if the Boolean value debug is True, and otherwise do nothing.

class Default a where #

A class for types with a default value.

Minimal complete definition

Nothing

Methods

def :: a #

The default value for this type.

Instances
Default Double 
Instance details

Defined in Data.Default.Class

Methods

def :: Double #

Default Float 
Instance details

Defined in Data.Default.Class

Methods

def :: Float #

Default Int 
Instance details

Defined in Data.Default.Class

Methods

def :: Int #

Default Int8 
Instance details

Defined in Data.Default.Class

Methods

def :: Int8 #

Default Int16 
Instance details

Defined in Data.Default.Class

Methods

def :: Int16 #

Default Int32 
Instance details

Defined in Data.Default.Class

Methods

def :: Int32 #

Default Int64 
Instance details

Defined in Data.Default.Class

Methods

def :: Int64 #

Default Integer 
Instance details

Defined in Data.Default.Class

Methods

def :: Integer #

Default Ordering 
Instance details

Defined in Data.Default.Class

Methods

def :: Ordering #

Default Word 
Instance details

Defined in Data.Default.Class

Methods

def :: Word #

Default Word8 
Instance details

Defined in Data.Default.Class

Methods

def :: Word8 #

Default Word16 
Instance details

Defined in Data.Default.Class

Methods

def :: Word16 #

Default Word32 
Instance details

Defined in Data.Default.Class

Methods

def :: Word32 #

Default Word64 
Instance details

Defined in Data.Default.Class

Methods

def :: Word64 #

Default () 
Instance details

Defined in Data.Default.Class

Methods

def :: () #

Default All 
Instance details

Defined in Data.Default.Class

Methods

def :: All #

Default Any 
Instance details

Defined in Data.Default.Class

Methods

def :: Any #

Default CShort 
Instance details

Defined in Data.Default.Class

Methods

def :: CShort #

Default CUShort 
Instance details

Defined in Data.Default.Class

Methods

def :: CUShort #

Default CInt 
Instance details

Defined in Data.Default.Class

Methods

def :: CInt #

Default CUInt 
Instance details

Defined in Data.Default.Class

Methods

def :: CUInt #

Default CLong 
Instance details

Defined in Data.Default.Class

Methods

def :: CLong #

Default CULong 
Instance details

Defined in Data.Default.Class

Methods

def :: CULong #

Default CLLong 
Instance details

Defined in Data.Default.Class

Methods

def :: CLLong #

Default CULLong 
Instance details

Defined in Data.Default.Class

Methods

def :: CULLong #

Default CFloat 
Instance details

Defined in Data.Default.Class

Methods

def :: CFloat #

Default CDouble 
Instance details

Defined in Data.Default.Class

Methods

def :: CDouble #

Default CPtrdiff 
Instance details

Defined in Data.Default.Class

Methods

def :: CPtrdiff #

Default CSize 
Instance details

Defined in Data.Default.Class

Methods

def :: CSize #

Default CSigAtomic 
Instance details

Defined in Data.Default.Class

Methods

def :: CSigAtomic #

Default CClock 
Instance details

Defined in Data.Default.Class

Methods

def :: CClock #

Default CTime 
Instance details

Defined in Data.Default.Class

Methods

def :: CTime #

Default CUSeconds 
Instance details

Defined in Data.Default.Class

Methods

def :: CUSeconds #

Default CSUSeconds 
Instance details

Defined in Data.Default.Class

Methods

def :: CSUSeconds #

Default CIntPtr 
Instance details

Defined in Data.Default.Class

Methods

def :: CIntPtr #

Default CUIntPtr 
Instance details

Defined in Data.Default.Class

Methods

def :: CUIntPtr #

Default CIntMax 
Instance details

Defined in Data.Default.Class

Methods

def :: CIntMax #

Default CUIntMax 
Instance details

Defined in Data.Default.Class

Methods

def :: CUIntMax #

Default Env Source # 
Instance details

Defined in Yam.Types

Methods

def :: Env #

Default AppConfig Source # 
Instance details

Defined in Yam.Types

Methods

def :: AppConfig #

Default SwaggerConfig Source # 
Instance details

Defined in Yam.Swagger

Methods

def :: SwaggerConfig #

Default LogConfig Source # 
Instance details

Defined in Yam.Logger

Methods

def :: LogConfig #

Default [a] 
Instance details

Defined in Data.Default.Class

Methods

def :: [a] #

Default (Maybe a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Maybe a #

Integral a => Default (Ratio a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Ratio a #

Default a => Default (IO a) 
Instance details

Defined in Data.Default.Class

Methods

def :: IO a #

(Default a, RealFloat a) => Default (Complex a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Complex a #

Default (First a) 
Instance details

Defined in Data.Default.Class

Methods

def :: First a #

Default (Last a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Last a #

Default a => Default (Dual a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Dual a #

Default (Endo a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Endo a #

Num a => Default (Sum a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Sum a #

Num a => Default (Product a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Product a #

Default (AuthChecker principal) Source # 
Instance details

Defined in Yam.Auth

Methods

def :: AuthChecker principal #

Default r => Default (e -> r) 
Instance details

Defined in Data.Default.Class

Methods

def :: e -> r #

(Default a, Default b) => Default (a, b) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b) #

(Default a, Default b, Default c) => Default (a, b, c) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c) #

(Default a, Default b, Default c, Default d) => Default (a, b, c, d) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d) #

(Default a, Default b, Default c, Default d, Default e) => Default (a, b, c, d, e) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d, e) #

(Default a, Default b, Default c, Default d, Default e, Default f) => Default (a, b, c, d, e, f) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d, e, f) #

(Default a, Default b, Default c, Default d, Default e, Default f, Default g) => Default (a, b, c, d, e, f, g) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d, e, f, g) #

data Text #

A space efficient, packed, unboxed Unicode text type.

Instances
Hashable Text 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Text -> Int #

hash :: Text -> Int #

ToJSON Text 
Instance details

Defined in Data.Aeson.Types.ToJSON

KeyValue Object

Constructs a singleton HashMap. For calling functions that demand an Object for constructing objects. To be used in conjunction with mconcat. Prefer to use object where possible.

Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

(.=) :: ToJSON v => Text -> v -> Object #

KeyValue Pair 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

(.=) :: ToJSON v => Text -> v -> Pair #

ToJSONKey Text 
Instance details

Defined in Data.Aeson.Types.ToJSON

FromJSON Text 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Text 
Instance details

Defined in Data.Aeson.Types.FromJSON

Chunk Text 
Instance details

Defined in Data.Attoparsec.Internal.Types

Associated Types

type ChunkElem Text :: Type #

ToValue Text 
Instance details

Defined in Text.Blaze

ToMarkup Text 
Instance details

Defined in Text.Blaze

FoldCase Text 
Instance details

Defined in Data.CaseInsensitive.Internal

Methods

foldCase :: Text -> Text #

foldCaseList :: [Text] -> [Text]

ToLogStr Text 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Text -> LogStr #

ToFormKey Text 
Instance details

Defined in Web.Internal.FormUrlEncoded

Methods

toFormKey :: Text -> Text #

FromFormKey Text 
Instance details

Defined in Web.Internal.FormUrlEncoded

ToHttpApiData Text 
Instance details

Defined in Web.Internal.HttpApiData

FromHttpApiData Text 
Instance details

Defined in Web.Internal.HttpApiData

Ixed Text 
Instance details

Defined in Control.Lens.At

AsEmpty Text 
Instance details

Defined in Control.Lens.Empty

Methods

_Empty :: Prism' Text () #

Reversing Text 
Instance details

Defined in Control.Lens.Internal.Iso

Methods

reversing :: Text -> Text #

FromProperties Text 
Instance details

Defined in Data.Salak.Types

ToSchema Text 
Instance details

Defined in Data.Swagger.Internal.Schema

ToSchema Object 
Instance details

Defined in Data.Swagger.Internal.Schema

ToParamSchema Text 
Instance details

Defined in Data.Swagger.Internal.ParamSchema

Methods

toParamSchema :: proxy Text -> ParamSchema t #

Strict Text Text 
Instance details

Defined in Control.Lens.Iso

Methods

strict :: Iso' Text Text0 #

HasDescription Response Text 
Instance details

Defined in Data.Swagger.Lens

HasTitle Info Text 
Instance details

Defined in Data.Swagger.Lens

Methods

title :: Lens' Info Text #

HasVersion Info Text 
Instance details

Defined in Data.Swagger.Lens

Methods

version :: Lens' Info Text #

HasName License Text 
Instance details

Defined in Data.Swagger.Lens

Methods

name :: Lens' License Text #

HasName Param Text 
Instance details

Defined in Data.Swagger.Lens

Methods

name :: Lens' Param Text #

HasName Tag TagName 
Instance details

Defined in Data.Swagger.Lens

Methods

name :: Lens' Tag TagName #

(a ~ Char, b ~ Char) => Each Text Text a b
each :: Traversal Text Text Char Char
Instance details

Defined in Control.Lens.Each

Methods

each :: Traversal Text Text a b #

Cons Text Text Char Char 
Instance details

Defined in Control.Lens.Cons

Methods

_Cons :: Prism Text Text (Char, Text) (Char, Text) #

Snoc Text Text Char Char 
Instance details

Defined in Control.Lens.Cons

Methods

_Snoc :: Prism Text Text (Text, Char) (Text, Char) #

FromPairs Value (DList Pair) 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

fromPairs :: DList Pair -> Value

v ~ Value => KeyValuePair v (DList Pair) 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

pair :: String -> v -> DList Pair

HasNamespace Xml (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasPrefix Xml (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

Methods

prefix :: Lens' Xml (Maybe Text) #

HasParamSchema s (ParamSchema t) => HasFormat s (Maybe Format) 
Instance details

Defined in Data.Swagger.Lens

Methods

format :: Lens' s (Maybe Format) #

HasParamSchema s (ParamSchema t) => HasPattern s (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

Methods

pattern :: Lens' s (Maybe Text) #

HasDiscriminator Schema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasRequired Schema [ParamName] 
Instance details

Defined in Data.Swagger.Lens

HasOperationId Operation (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasSummary Operation (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasEmail Contact (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Info (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Operation (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Param (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Schema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Header (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription SecurityScheme (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Tag (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription ExternalDocs (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasTermsOfService Info (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasTitle Schema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasName Contact (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasName NamedSchema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasName Xml (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

Methods

name :: Lens' Xml (Maybe Text) #

HasDefinitions Swagger (Definitions Schema) 
Instance details

Defined in Data.Swagger.Lens

HasParameters Swagger (Definitions Param) 
Instance details

Defined in Data.Swagger.Lens

HasResponses Swagger (Definitions Response) 
Instance details

Defined in Data.Swagger.Lens

HasSecurityDefinitions Swagger (Definitions SecurityScheme) 
Instance details

Defined in Data.Swagger.Lens

HasTags Operation (Set TagName) 
Instance details

Defined in Data.Swagger.Lens

HasHeaders Response (InsOrdHashMap HeaderName Header) 
Instance details

Defined in Data.Swagger.Lens

HasProperties Schema (InsOrdHashMap Text (Referenced Schema)) 
Instance details

Defined in Data.Swagger.Lens

MimeRender PlainText Text
fromStrict . TextS.encodeUtf8
Instance details

Defined in Servant.API.ContentTypes

MimeUnrender PlainText Text
left show . TextS.decodeUtf8' . toStrict
Instance details

Defined in Servant.API.ContentTypes

HasFormat (ParamSchema t) (Maybe Format) 
Instance details

Defined in Data.Swagger.Lens

HasPattern (ParamSchema t) (Maybe Pattern) 
Instance details

Defined in Data.Swagger.Lens

type State Text 
Instance details

Defined in Data.Attoparsec.Internal.Types

type State Text = Buffer
type ChunkElem Text 
Instance details

Defined in Data.Attoparsec.Internal.Types

type Item Text 
Instance details

Defined in Data.Text

type Item Text = Char
type Index Text 
Instance details

Defined in Control.Lens.At

type Index Text = Int
type IxValue Text 
Instance details

Defined in Control.Lens.At

pack :: String -> Text #

O(n) Convert a String into a Text. Subject to fusion. Performs replacement on invalid scalar values.

encodeUtf8 :: Text -> ByteString #

Encode text using UTF-8 encoding.

decodeUtf8 :: ByteString -> Text #

Decode a ByteString containing UTF-8 encoded text that is known to be valid.

If the input contains any invalid UTF-8 data, an exception will be thrown that cannot be caught in pure code. For more control over the handling of invalid data, use decodeUtf8' or decodeUtf8With.

class Monad m => MonadIO (m :: Type -> Type) #

Monads in which IO computations may be embedded. Any monad built by applying a sequence of monad transformers to the IO monad will be an instance of this class.

Instances should satisfy the following laws, which state that liftIO is a transformer of monads:

Minimal complete definition

liftIO

Instances
MonadIO IO

Since: base-4.9.0.0

Instance details

Defined in Control.Monad.IO.Class

Methods

liftIO :: IO a -> IO a #

MonadIO Q 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

liftIO :: IO a -> Q a #

MonadIO DelayedIO 
Instance details

Defined in Servant.Server.Internal.RoutingApplication

Methods

liftIO :: IO a -> DelayedIO a #

MonadIO Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

liftIO :: IO a -> Handler a #

MonadIO m => MonadIO (ResourceT m) 
Instance details

Defined in Control.Monad.Trans.Resource.Internal

Methods

liftIO :: IO a -> ResourceT m a #

MonadIO m => MonadIO (NoLoggingT m) 
Instance details

Defined in Control.Monad.Logger

Methods

liftIO :: IO a -> NoLoggingT m a #

MonadIO m => MonadIO (WriterLoggingT m) 
Instance details

Defined in Control.Monad.Logger

Methods

liftIO :: IO a -> WriterLoggingT m a #

MonadIO m => MonadIO (LoggingT m) 
Instance details

Defined in Control.Monad.Logger

Methods

liftIO :: IO a -> LoggingT m a #

MonadIO m => MonadIO (RouteResultT m) 
Instance details

Defined in Servant.Server.Internal.RoutingApplication

Methods

liftIO :: IO a -> RouteResultT m a #

MonadIO m => MonadIO (ExceptT e m) 
Instance details

Defined in Control.Monad.Trans.Except

Methods

liftIO :: IO a -> ExceptT e m a #

(Functor f, MonadIO m) => MonadIO (FreeT f m) 
Instance details

Defined in Control.Monad.Trans.Free

Methods

liftIO :: IO a -> FreeT f m a #

(Error e, MonadIO m) => MonadIO (ErrorT e m) 
Instance details

Defined in Control.Monad.Trans.Error

Methods

liftIO :: IO a -> ErrorT e m a #

MonadIO m => MonadIO (AppM m) Source # 
Instance details

Defined in Yam.Types

Methods

liftIO :: IO a -> AppM m a #

MonadIO m => MonadIO (ReaderT r m) 
Instance details

Defined in Control.Monad.Trans.Reader

Methods

liftIO :: IO a -> ReaderT r m a #

MonadIO m => MonadIO (ConduitT i o m) 
Instance details

Defined in Data.Conduit.Internal.Conduit

Methods

liftIO :: IO a -> ConduitT i o m a #

MonadIO m => MonadIO (Pipe l i o u m) 
Instance details

Defined in Data.Conduit.Internal.Pipe

Methods

liftIO :: IO a -> Pipe l i o u m a #

liftIO :: MonadIO m => IO a -> m a #

Lift a computation from the IO monad.

withReaderT #

Arguments

:: (r' -> r)

The function to modify the environment.

-> ReaderT r m a

Computation to run in the modified environment.

-> ReaderT r' m a 

Execute a computation in a modified environment (a more general version of local).

module Data.Maybe

module Servant

module Data.Aeson

module Data.Word

Utilities