lite demo

This commit is contained in:
Michael Snoyman 2013-03-18 14:16:05 +02:00
parent 2c8b9c32c9
commit 2254b3403d

21
demo/lite/lite.hs Normal file
View File

@ -0,0 +1,21 @@
{-# LANGUAGE OverloadedStrings #-}
import Yesod.Core
import Data.Aeson
import Data.Monoid ((<>))
import Data.Text (Text, pack)
people :: [(Text, Int)]
people = [("Alice", 25), ("Bob", 43), ("Charlie", 37)]
main = warp 3000 $
onStatic "people" (dispatchTo getPeople) <>
onStatic "person" (withDynamic $ dispatchTo . getPerson)
getPeople = return $ toJSON $ map fst people
getPerson name =
case lookup name people of
Nothing -> notFound
Just age -> selectRep $ do
provideRep $ return $ object ["name" .= name, "age" .= age]
provideRep $ return $ name <> " is " <> pack (show age) <> " years old"