{-# LANGUAGE OverloadedStrings #-} module Site (site) where import Paths_mysnapsession_example import Control.Applicative import Control.Monad.Trans import Snap.Extension.Heist import Snap.Extension.Session import Snap.Util.FileServe import Snap.Types import Text.Templating.Heist import qualified Data.Text as T import Application index :: App () index = do i <- getSession setSession (i+1) heistLocal (bindString "num" (T.pack $ show i)) $ render "index" site :: App () site = do sPath <- liftIO $ getDataFileName "clientcount/resources/static" inSession $ ifTop index <|> fileServe sPath