time-wasting-thread-memorial/web/src/Main.hs

24 lines
841 B
Haskell

{-# LANGUAGE OverloadedStrings #-}
module Main where
import qualified Database.SQLite.Simple as Db
import qualified Network.Wai.Middleware.RequestLogger as RequestLogger
import qualified Network.Wai.Middleware.Static as Static
import qualified Web.Spock.Safe as S hiding (head)
import qualified Within.DBMemorial.Post as Post
main :: IO ()
main = do
conn <- Db.open "../db/posts.db"
-- Simple tests to prove we're reading from SQLite
r <- Db.query_ conn "SELECT * FROM Posts WHERE page=1" :: IO [Post.Post]
let h = head r
-- Set up the URL router
S.runSpock 5000 $ S.spockT id $ do
S.middleware $ Static.staticPolicy $ Static.addBase "public"
S.middleware $ RequestLogger.logStdout
S.get S.root $
S.text $ Post.body h