packages feed

happs-tutorial-0.3: src/Main.hs

-- with gracious thanks to mightybyte:
-- http://softwaresimply.blogspot.com/2008_02_01_archive.html

module Main where
import HAppS.Server
import Model
import Controller
import Misc
import System.Environment
import HAppS.State
import Session

main = do
  -- let p = 5001 
  let usageMessage = "usage example: happs-tutorial 5001 (starts the app on port 5001)"
  args <- getArgs
  case args of
    [port] -> runserver (read port)
    otherwise -> do
              putStrLn usageMessage
              

-- run the happs server on some port
runserver p = do
  startSystemState entryPoint -- start the HAppS state system
  putStrLn $ "happs tutorial starting on port " ++ (show p) ++ "\n" ++
             "shut down with ctrl-c"
             
  simpleHTTP (Conf {port=p}) controller -- start serving web pages
  where entryPoint :: Proxy TutorialState
        entryPoint = Proxy
runInGhci = do
    putStrLn $ "happs tutorial running ins ghci. \n" ++
             "exit :q ghci completely and reenter ghci, before restarting."
    runserver 5001