packages feed

http-enumerator-0.4.0: test.hs

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE CPP #-}
import Network.HTTP.Enumerator
import Network
import qualified Data.ByteString as S
import qualified Data.ByteString.Lazy as L
import System.Environment.UTF8 (getArgs)
import Network.Wai (ciOriginal)
import qualified Data.Ascii as A

main :: IO ()
main = withSocketsDo $ do
    [urlS] <- getArgs
    urlA <- maybe (error "Invalid ASCII sequence") return $ A.fromChars urlS
    _req2 <- parseUrl urlA
    {-
    let req = urlEncodedBody
                [ ("foo", "bar")
                , ("baz%%38**.8fn", "bin")
                ] _req2
    -}
    Response sc hs b <- withManager $ httpLbsRedirect _req2
#if DEBUG
    return ()
#else
    print sc
    mapM_ (\(x, y) -> do
        S.putStr $ A.ciToByteString x
        putStr ": "
        S.putStr $ A.toByteString y
        putStrLn "") hs
    putStrLn ""
    L.putStr b
#endif