{-# 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