view App.hs @ 0:622f5598f951

Initial Commit
author Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
date Mon, 17 Jun 2013 05:15:33 +0900
parents
children 616d3e6ce483
line wrap: on
line source

{-# LANGUAGE OverloadedStrings #-}

import Types
import Routes
import Network.Wai (Request, Response, pathInfo, queryString)
import Network.Wai.Parse (parseRequestBody, lbsBackEnd)
import Network.Wai.Handler.Warp (run)
import Control.Monad.Trans (lift)
import Data.Conduit (ResourceT)
import Control.Concurrent.STM
import qualified Jungle as J

application :: TJungle -> Request -> ResourceT IO Response
application jungle request = do
    let
      function = routes $ pathInfo request
      query    = queryString request
    (params, _) <- parseRequestBody lbsBackEnd request
    lift $ function jungle query params

main = do 
    putStrLn $ "Listening on port " ++ show 3000
    jungle <- newJungle
    run 3000 $ application jungle