module WASH.CGI.RawCGITypes where
import IO
import WASH.CGI.CGITypes
import WASH.CGI.HTTP
type CGIProgram = (CGIInfo -> CGIParameters -> IO ())
type CGIParameter = (String, CGIValue)
type CGIParameters = [CGIParameter]
type CGIValue = String
data CGIRawValue =
CGIRawString String
| CGIRawFile String String String
data CGIInfo =
CGIInfo { cgiUrl :: URL
, cgiPathInfo :: String
, cgiScriptName :: String
, cgiContentType :: String
, cgiContents :: String
, cgiCookies :: [(String, String)]
, cgiArgs :: [String]
, cgiHandle :: Handle
, cgiSessionMode :: SessionMode
}
data CGIEnv =
CGIEnv { serverName :: String
, serverPort :: String
, serverSoftware :: String
, serverProtocol :: String
, gatewayInterface :: String
, scriptName :: String
, requestMethod :: Method
, contentLength :: String
, contentType :: String
, httpAccept :: String
, httpCookie :: String
, pathInfo :: String
, pathTranslated :: String
, remoteHost :: String
, remoteAddr :: String
, remoteUser :: String
, authType :: String
, rawContents :: String
, rawArgs :: [String]
, handle :: Handle
, httpsEnabled :: Bool
}