packages feed

salvia-0.0.5: src/Network/Salvia/Handlers/CGI.hs

module Network.Salvia.Handlers.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)

hCGI :: FilePath -> Handler ()
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 ()