ihttp-0.3.0: Test.hs
-- |
-- Module: Main
-- Copyright: (c) 2010 Ertugrul Soeylemez
-- License: BSD3
-- Maintainer: Ertugrul Soeylemez <es@ertes.de>
-- Stability: experimental
--
-- ihttp test program.
{-# LANGUAGE OverloadedStrings #-}
module Main where
import qualified Data.ByteString.Char8 as BC
import qualified Data.Map as M
import Control.ContStuff
import Data.Enumerator as E
import Data.Enumerator.Binary as EB
import Data.Enumerator.NetLines
import Network
import Network.IHttp
import System.IO
main :: IO ()
main = do
h <- connectTo "127.0.0.1" (PortNumber 80)
hSetBuffering h NoBuffering
run_ $ enumHandleSession 4096 60000 60000 h $$ do
resp <- okRequest defHttpConfig h (mkGetRequest "ertes.de" "/")
liftIO (print resp)
cnt <- maybe EB.consume EB.take $ do
lenStr <- M.lookup "CONTENT-LENGTH" (responseHeaders resp)
(len, _) <- BC.readInteger lenStr
return len
liftIO (print cnt)
hClose h