| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Web.Routes.Nested.Types
- data Tries x s = Tries {
- trieContent :: !(RootedPredTrie Text x)
- trieCatchAll :: !(RootedPredTrie Text x)
- trieSecurity :: !(RootedPredTrie Text s)
- trieContentMutable :: (Typeable x, Typeable s) => Tries x s' -> ST s (RootedHashTableTrie s Text x)
- trieCatchAllMutable :: (Typeable x, Typeable s) => Tries x s' -> ST s (RootedHashTableTrie s Text x)
- trieSecurityMutable :: (Typeable s', Typeable s) => Tries x s' -> ST s (RootedHashTableTrie s Text s')
- newtype HandlerT x sec m a = HandlerT {
- runHandlerT :: StateT (Tries x sec) m a
- execHandlerT :: Monad m => HandlerT x sec m a -> m (Tries x sec)
- type ExtrudeSoundly cleanxs xs c r = (cleanxs ~ CatMaybes xs, ArityTypeListIso c cleanxs r, Extrude (UrlChunks xs) (RootedPredTrie Text c) (RootedPredTrie Text r))
- type ActionT m a = VerbListenerT (FileExtListenerT m a) m a
- action :: Monad m => ActionT m () -> MiddlewareT m
Documentation
The internal data structure built during route declaration.
Constructors
| Tries | |
Fields
| |
trieContentMutable :: (Typeable x, Typeable s) => Tries x s' -> ST s (RootedHashTableTrie s Text x) Source
trieCatchAllMutable :: (Typeable x, Typeable s) => Tries x s' -> ST s (RootedHashTableTrie s Text x) Source
trieSecurityMutable :: (Typeable s', Typeable s) => Tries x s' -> ST s (RootedHashTableTrie s Text s') Source
newtype HandlerT x sec m a Source
The return type of a route building expression like match -
it should have a shape of HandlerT (MiddlewareT m) (SecurityToken s) m a
when used with route.
Constructors
| HandlerT | |
Fields
| |
execHandlerT :: Monad m => HandlerT x sec m a -> m (Tries x sec) Source
Run the monad, only getting the built state and throwing away a.
type ExtrudeSoundly cleanxs xs c r = (cleanxs ~ CatMaybes xs, ArityTypeListIso c cleanxs r, Extrude (UrlChunks xs) (RootedPredTrie Text c) (RootedPredTrie Text r)) Source
Deductive proof that prepending a list of types to a function as arity can be deconstructed.
type ActionT m a = VerbListenerT (FileExtListenerT m a) m a Source
The type of content builders.
action :: Monad m => ActionT m () -> MiddlewareT m Source
Run the content builder into a middleware that responds when the content
is satisfiable (i.e. Accept headers are O.K., etc.)