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 mainApp
Documentation
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 #