WashNGo-2.12.0.1: WASH is a family of EDSLs for programming Web applications in Haskell.Source codeContentsIndex
WASH.CGI.CGIMonad
Description
Definition of the monad underlying the CGI library.
Synopsis
newtype CGI a = CGI {
unCGI :: CGIAction a
}
type CGIAction a = CGIState -> IO (a, CGIState)
data CGIState = CGIState {
inparm :: [PARAMETER]
outparm :: [PARAMETER]
stateID :: String
mcount :: Int
cgiInfo :: CGIInfo
pageInfo :: PageInfo
jsEnabled :: Maybe Bool
encoder :: String -> String
cookieMap :: [(String, (Maybe String, Maybe String))]
cookiesToSend :: [String]
}
data PageInfo = PageInfo {
count :: Int
nextaction :: Element -> CGIAction ()
actionTable :: [(String, Element -> CGIAction ())]
bindings :: Maybe CGIParameters
enctype :: String
inFrame :: Int
allFields :: [(String, Bool)]
faultyfields :: [(String, String)]
}
data CGIFieldName = CGIFieldName {
fnMcount :: Int
fnCount :: Int
}
wrapIO :: IO a -> CGIAction a
lift :: IO a -> CGI a
setAction :: CGIMonad cgi => (Element -> cgi ()) -> cgi ()
registerAction :: CGIMonad cgi => String -> (Element -> cgi ()) -> cgi ()
incFrame :: CGIMonad cgi => cgi Int
resetFrame :: CGIMonad cgi => cgi ()
setEnctype :: CGIMonad cgi => String -> cgi ()
setFaulty :: CGIMonad cgi => [(String, String)] -> cgi ()
class Monad cgi => CGIMonad cgi where
wrapCGI :: CGIAction a -> cgi a
unwrapCGI :: cgi a -> CGIAction a
chooser :: a -> a -> cgi a
nextName :: CGIMonad cgi => cgi CGIFieldName
addField :: CGIMonad cgi => String -> Bool -> cgi ()
Documentation
newtype CGI a Source
Constructors
CGI
unCGI :: CGIAction a
type CGIAction a = CGIState -> IO (a, CGIState)Source
data CGIState Source
Constructors
CGIState
inparm :: [PARAMETER]
outparm :: [PARAMETER]
stateID :: String
mcount :: Int
cgiInfo :: CGIInfo
pageInfo :: PageInfo
jsEnabled :: Maybe Bool
encoder :: String -> String
cookieMap :: [(String, (Maybe String, Maybe String))]
cookiesToSend :: [String]
data PageInfo Source
Constructors
PageInfo
count :: Int
nextaction :: Element -> CGIAction ()
actionTable :: [(String, Element -> CGIAction ())]
bindings :: Maybe CGIParameters
enctype :: String
inFrame :: Int
allFields :: [(String, Bool)]
faultyfields :: [(String, String)]
data CGIFieldName Source
Constructors
CGIFieldName
fnMcount :: Int
fnCount :: Int
wrapIO :: IO a -> CGIAction aSource
wrapper to transform IO computation to CGIAction
lift :: IO a -> CGI aSource
lift IO monad to CGI monad
setAction :: CGIMonad cgi => (Element -> cgi ()) -> cgi ()Source
registerAction :: CGIMonad cgi => String -> (Element -> cgi ()) -> cgi ()Source
incFrame :: CGIMonad cgi => cgi IntSource
resetFrame :: CGIMonad cgi => cgi ()Source
setEnctype :: CGIMonad cgi => String -> cgi ()Source
setFaulty :: CGIMonad cgi => [(String, String)] -> cgi ()Source
class Monad cgi => CGIMonad cgi whereSource
Methods
wrapCGI :: CGIAction a -> cgi aSource
unwrapCGI :: cgi a -> CGIAction aSource
chooser :: a -> a -> cgi aSource
nextName :: CGIMonad cgi => cgi CGIFieldNameSource
addField :: CGIMonad cgi => String -> Bool -> cgi ()Source
Produced by Haddock version 2.6.1