{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE CPP #-} import Network.HTTP.Conduit import Network import qualified Data.ByteString as S import qualified Data.ByteString.Lazy as L import System.Environment.UTF8 (getArgs) import Data.CaseInsensitive (original) import Data.Conduit import Control.Monad.IO.Class main :: IO () main = withSocketsDo $ do [url] <- getArgs _req2 <- parseUrl url let req = {-urlEncodedBody [ ("foo", "bar") , ("baz%%38**.8fn", "bin") ]-} _req2 { method = "OPTIONS" } runResourceT $ do man <- newManager Response sc hs b <- httpLbsRedirect req man #if DEBUG return () #else liftIO $ do print sc mapM_ (\(x, y) -> do S.putStr $ original x putStr ": " S.putStr y putStrLn "") hs putStrLn "" L.putStr b #endif