- data Site url a = Site {
- handleSite :: (url -> [(String, String)] -> String) -> url -> a
- formatPathSegments :: url -> ([String], [(String, String)])
- parsePathSegments :: [String] -> Either String url
- setDefault :: url -> Site url a -> Site url a
- runSite :: String -> Site url a -> String -> Either String a
Documentation
A site groups together the three functions necesary to make an application:
- A function to convert from the URL type to path segments.
- A function to convert from path segments to the URL, if possible.
- A function to return the application for a given URL.
There are two type parameters for Site: the first is the URL datatype, the second is the application datatype. The application datatype will depend upon your server backend.
Site | |
|
setDefault :: url -> Site url a -> Site url aSource
Override the "default" URL, ie the result of parsePathSegments
[].