webapp-0.0.1: README.md
# webapp - simple webapp scaffolding with state
Basic example:
module Main where
import Web.App
import Web.Scotty.Trans
instance WebAppState Integer where
initState = return 0
destroyState st = do
putStr "Counted: "
print st
main = webappMain app "My Web App" "This is a demo web app"
app :: (ScottyError e) => ScottyT e (WebAppM Integer) ()
app = do
get "/add" $ do
modifyState (+1)
get "/subtract" $ do
(State count) <- getState
putState (State count-1)
get "/assets/:file" $ param "file" >>= loadAsset
There is also a module called `FileCache` which is available for loading cached files. It loads files into memory, MD5 sums them, compresses them, and then stores them in the cache.