hsp-0.4.4: src/HSP/Env.hs
module HSP.Env (
module HSP.Env.Request,
module HSP.Env.NumberGen,
HSPEnv(..),
mkSimpleEnv
) where
import HSP.Env.Request
import HSP.Env.NumberGen
import Data.IORef
-- | The runtime environment for HSP pages.
data HSPEnv = HSPEnv {
getReq :: Request -- In CGI mode we only support Request
-- , getResp :: Rp.Response
, getNG :: NumberGen
}
mkSimpleEnv :: IO HSPEnv
mkSimpleEnv = do
x <- newIORef 0
let req = Request (const []) []
num = NumberGen (atomicModifyIORef x (\a -> (a+1,a)))
return $ HSPEnv req num