@@ -115,15 +115,20 @@ getContent x = getC x "" where
115 getC (n-1) (strCons x acc)
115 getC (n-1) (strCons x acc)
116 else (return "")
116 else (return "")
118+getCgiEnv : String -> IO String
121+ return $ maybe "" id val
119runCGI : CGI a -> IO a
124runCGI : CGI a -> IO a
120runCGI prog = do
125runCGI prog = do
121− clen_in <- getEnv "CONTENT_LENGTH"
126+ clen_in <- getCgiEnv "CONTENT_LENGTH"
122 let clen = prim__fromStrInt clen_in
127 let clen = prim__fromStrInt clen_in
123 content <- getContent clen
128 content <- getContent clen
124− query <- getEnv "QUERY_STRING"
129+ query <- getCgiEnv "QUERY_STRING"
125− cookie <- getEnv "HTTP_COOKIE"
130+ cookie <- getCgiEnv "HTTP_COOKIE"
126− agent <- getEnv "HTTP_USER_AGENT"
131+ agent <- getCgiEnv "HTTP_USER_AGENT"
128 let get_vars = getVars ['&',';'] query
133 let get_vars = getVars ['&',';'] query
129 let post_vars = getVars ['&'] content
134 let post_vars = getVars ['&'] content