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