rest-core-0.28: Rest API library.

Safe HaskellNone

Rest.Driver.Routing

Contents

Synopsis

Documentation

apiError :: MonadError (Reason e) m => Reason e -> m aSource

routeToplevel :: Resource m s sid mid aid -> [Some1 (Router s)] -> Maybe (Cardinality sid mid) -> MaybeT Router (RunnableHandler m)Source

routeStep :: Resource m s sid mid aid -> [Some1 (Router s)] -> Step sid mid aid -> Router (RunnableHandler m)Source

routeNamed :: Resource m s sid mid aid -> [Some1 (Router s)] -> Endpoint sid mid aid -> Router (RunnableHandler m)Source

routeUnnamed :: Resource m s sid mid aid -> [Some1 (Router s)] -> Cardinality (Id sid) (Id mid) -> Router (RunnableHandler m)Source

routeGetter :: Getter sid -> Resource m s sid mid aid -> [Some1 (Router s)] -> Router (RunnableHandler m)Source

multiPut :: Resource m s sid mid aid -> Id sid -> Router (RunnableHandler m)Source

withSubresource :: sid -> Resource m s sid mid aid -> [Some1 (Router s)] -> Router (RunnableHandler m)Source

routeSingle :: sid -> Resource m s sid mid aid -> Router (RunnableHandler m)Source

parseIdent :: MonadError (Reason e) m => Id id -> String -> m idSource

mkListAction :: Monad m => (Env h p i -> ErrorT (Reason e) m [a]) -> Env h (Range, p) i -> ErrorT (Reason e) m (List a)Source

mkMultiPutHandler :: Monad m => Id id -> (id -> Run s m) -> Handler s -> Maybe (Handler m)Source

mkMultiGetHandler :: forall m s. (Applicative m, Monad m) => Router m s -> Handler mSource

runResource :: forall m s. (Applicative m, Monad m) => Router m s -> Resource -> m BodyPartSource

Utilities

fromMaybeT :: Monad m => m a -> MaybeT m a -> m aSource