packages feed

hyperdrive-0.1: Pong.hs

{-# LANGUAGE OverloadedStrings #-}
module Main where

import Control.Proxy                   (respond)
import qualified Data.ByteString       as B
import qualified Data.ByteString.Char8 as C
import Serve                           (Handler, serve)
import Types                           (Response(..))

------------------------------------------------------------------------------
-- pong handler
------------------------------------------------------------------------------

pong :: Handler IO
pong r =
    do let body = "PONG"
           res = Response { rsCode    = 200
                          , rsHeaders = [("Content-Length", C.pack (show (B.length body)))]
                          , rsBody    = respond body
                          }
       return res

------------------------------------------------------------------------------
-- main
------------------------------------------------------------------------------

main :: IO ()
main = serve 8000 pong