| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.Wai.UrlMap
Description
This module gives you a way to mount applications under sub-URIs. For example:
bugsApp, helpdeskApp, apiV1, apiV2, mainApp :: Application
myApp :: Application
myApp = mapUrls $
mount "bugs" bugsApp
<|> mount "helpdesk" helpdeskApp
<|> mount "api"
( mount "v1" apiV1
<|> mount "v2" apiV2
)
<|> mountRoot mainAppDocumentation
Instances
| Foldable UrlMap' Source # | Since: 3.1.18 |
Defined in Network.Wai.UrlMap Methods fold :: Monoid m => UrlMap' m -> m # foldMap :: Monoid m => (a -> m) -> UrlMap' a -> m # foldMap' :: Monoid m => (a -> m) -> UrlMap' a -> m # foldr :: (a -> b -> b) -> b -> UrlMap' a -> b # foldr' :: (a -> b -> b) -> b -> UrlMap' a -> b # foldl :: (b -> a -> b) -> b -> UrlMap' a -> b # foldl' :: (b -> a -> b) -> b -> UrlMap' a -> b # foldr1 :: (a -> a -> a) -> UrlMap' a -> a # foldl1 :: (a -> a -> a) -> UrlMap' a -> a # elem :: Eq a => a -> UrlMap' a -> Bool # maximum :: Ord a => UrlMap' a -> a # minimum :: Ord a => UrlMap' a -> a # | |
| Traversable UrlMap' Source # | Since: 3.1.18 |
| Alternative UrlMap' Source # | |
| Applicative UrlMap' Source # | |
| Functor UrlMap' Source # | |
type UrlMap = UrlMap' Application Source #
mount' :: ToApplication a => Path -> a -> UrlMap Source #
Mount an application under a given path. The ToApplication typeclass gives
you the option to pass either an Application or an UrlMap
as the second argument.
mount :: ToApplication a => Text -> a -> UrlMap Source #
A convenience function like mount', but for mounting things under a single path segment.
mountRoot :: ToApplication a => a -> UrlMap Source #
Mount something at the root. Use this for the last application in the block, to avoid 500 errors from none of the applications matching.
mapUrls :: UrlMap -> Application Source #