packages feed

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.