apiary-0.16.0: Simple and type safe web framework that can be automatically generate API documentation.

Safe HaskellNone

Control.Monad.Apiary

Contents

Synopsis

Documentation

data ApiaryT exts prms actM m a Source

most generic Apiary monad. since 0.8.0.0.

Instances

(Monad actM, MonadBase b m) => MonadBase b (ApiaryT exts prms actM m) 
(Monad actM, MonadBaseControl b m) => MonadBaseControl b (ApiaryT exts prms actM m) 
Monad actM => MonadTrans (ApiaryT exts prms actM) 
Monad actM => MonadTransControl (ApiaryT exts prms actM) 
Monad actM => Monad (ApiaryT exts prms actM m) 
Functor (ApiaryT exts prms actM m) 
Monad actM => Applicative (ApiaryT exts prms actM m) 
(Monad actM, MonadIO m) => MonadIO (ApiaryT exts prms actM m) 

server :: Monad m => (Application -> m a) -> m Application -> m aSource

runApiaryTWith :: (Monad actM, Monad m) => Initializer `[]` m exts -> ApiaryConfig -> (forall b. actM b -> IO b) -> ApiaryT exts `[]` actM m () -> m ApplicationSource

runApiaryWith :: Monad m => Initializer `[]` m exts -> ApiaryConfig -> ApiaryT exts `[]` IO m () -> m ApplicationSource

runApiary :: Monad m => ApiaryConfig -> ApiaryT `[]` `[]` IO m () -> m ApplicationSource

getter

apiaryConfig :: Monad actM => ApiaryT exts prms actM m ApiaryConfigSource

apiaryExt :: (Has e exts, Monad actM) => proxy e -> ApiaryT exts prms actM m eSource

execute action

action :: Monad actM => Fn prms (ActionT exts actM ()) -> ApiaryT exts prms actM m ()Source

splice ActionT ApiaryT.

action' :: Monad actM => (SList prms -> ActionT exts actM ()) -> ApiaryT exts prms actM m ()Source

like action. but not apply arguments. since 0.8.0.0.

middleware

middleware :: Monad actM => Middleware -> ApiaryT exts prms actM m ()Source

API documentation

group :: Text -> ApiaryT exts prms actM m () -> ApiaryT exts prms actM m ()Source

API document group. since 0.12.0.0.

only top level group recognized.

document :: Text -> ApiaryT exts prms actM m () -> ApiaryT exts prms actM m ()Source

add API document. since 0.12.0.0.

It use only filters prior document, so you should be placed document directly in front of action.

precondition :: Html -> ApiaryT exts prms actM m () -> ApiaryT exts prms actM m ()Source

add user defined precondition. since 0.13.0.

noDoc :: ApiaryT exts prms actM m () -> ApiaryT exts prms actM m ()Source

rpHtml :: Html -> Int -> HtmlSource

construct Html as route parameter. since 0.13.0.

deprecated

actionWithPreAction :: Monad actM => (SList xs -> ActionT exts actM a) -> Fn xs (ActionT exts actM ()) -> ApiaryT exts xs actM m ()Source

Deprecated: use action'

execute action before main action. since 0.4.2.0