-- | -- Module: Main -- Copyright: (c) 2010 Ertugrul Soeylemez -- License: BSD3 -- Maintainer: Ertugrul Soeylemez -- 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