Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
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