blob: 9fda84b1179df6a1c1311e13a9159991c4026f52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE LambdaCase #-}
import Network.CGI (runCGI, handleErrors, outputFPS, setHeader)
import Text.Blaze.Html.Renderer.Utf8 (renderHtml)
import Settlr.Config (withConfig, ScriptM)
import Settlr.Routes (loadRoute, Route(..))
import Settlr.Views.ErrorNotFound (viewErrorNotFound)
import Settlr.Views.Home (viewHome)
import Text.Blaze.Html5 (Html)
view :: Maybe Route -> ScriptM Html
view (Just RouteHome) = viewHome
view (Just RouteNew) = viewErrorNotFound
view Nothing = viewErrorNotFound
main :: IO ()
main = runCGI $ handleErrors $ withConfig $ do
setHeader "Content-type" "text/html; charset=\"utf-8\""
loadRoute >>= view >>= outputFPS . renderHtml
|