WashNGo-2.12.0.1: WASH is a family of EDSLs for programming Web applications in Haskell.

Safe HaskellSafe-Infered

WASH.CGI.CGIMonad

Description

Definition of the monad underlying the CGI library.

Synopsis

Documentation

newtype CGI a Source

Constructors

CGI 

Fields

unCGI :: CGIAction a
 

Instances

Monad CGI 
MonadFix CGI 
CGIMonad CGI 
WithMonad CGI 

type CGIAction a = CGIState -> IO (a, CGIState)Source

data CGIState Source

Constructors

CGIState 

Fields

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 

Fields

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 

Fields

fnMcount :: Int
 
fnCount :: Int
 

Instances

args :: CGIState -> [String]Source

url :: CGIState -> StringSource

fromCGIstate :: CGIMonad cgi => (CGIState -> a) -> cgi aSource

getCGIArgs :: CGIMonad cgi => cgi [String]Source

getUrl :: CGIMonad cgi => cgi StringSource

getStateID :: CGIMonad cgi => cgi StringSource

getEncoder :: CGIMonad cgi => cgi (String -> String)Source

getJSEnabled :: CGIMonad cgi => cgi (Maybe Bool)Source

getScriptName :: CGIMonad cgi => cgi StringSource

getPathInfo :: CGIMonad cgi => cgi StringSource

getHandle :: CGIMonad cgi => cgi HandleSource

getFields :: CGIMonad cgi => cgi [(String, Bool)]Source

getMcount :: CGIMonad cgi => cgi IntSource

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

Instances

addField :: CGIMonad cgi => String -> Bool -> cgi ()Source

nextstid :: Show a => [Char] -> a -> StringSource