packages feed

salvia-0.1: src/Network/Salvia/Handler/CGI.hs

module Network.Salvia.Handler.CGI (hCGI) where

import Control.Monad.State
import Data.Record.Label
import Network.Protocol.Http
import Network.Salvia.Httpd
import System.IO
import System.Process (runProcess, waitForProcess)

{- |
Handle CGI scripts, not yet working properly.
-}

hCGI :: ResourceHandler ()
hCGI name = do
  setM (status % response) OK
  h <- getM sock
  lift $ do
    p <- runProcess name [] Nothing Nothing (Just h) (Just h) (Just stderr)
    waitForProcess p
    return ()