We want to build simplest FastCGI-server. Assumed that we already have a web-server (for example, Apache with `mod_fastcgi` module).

### Solution

We have to install [`direct-fastcgi`](http://hackage.haskell.org/package/direct-fastcgi) package, and after that:


```haskell
module Main where

import Control.Concurrent (forkIO)
import Network.FastCGI

handleRequest :: FastCGI ()
handleRequest = do
    setResponseHeaderSource HttpContentType "application/json" 
    fPutStr "{ \"Hello from\": \"Haskell world!\" }"

main :: IO ()
main = acceptLoop forkIO handleRequest
```

After building, copy the executable in your `DocumentRoot` and go to the server (via your configured alias). The result in the browser will be:


```bash
{ "Hello from": "Haskell world!" }
```

Header info:

```bash
Date: Mon, 12 May 2014 19:28:05 GMT
Server: Apache/2.2.22 (Ubuntu)
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 43
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json

200 OK
```

That's all.