
Untitled
By: a guest on
May 23rd, 2012 | syntax:
None | size: 0.67 KB | hits: 14 | expires: Never
import Network.HTTP
import qualified Data.ByteString as B
import qualified Data.ByteString.Char8 as BC
import System.Environment
main = do
args <- getArgs
(url, file, ty) <- case args of
[x1,x2,x3] -> return (x1, x2, x3)
_ -> fail "Usage: url file type"
contents <- B.readFile file
let req' = postRequest url
req = addHeadersFor contents ty $ req' { rqBody = contents }
putStrLn "=== request ==="
print req
resp <- simpleHTTP req
putStrLn "=== response ==="
getResponseBody resp >>= B.putStr
putStrLn ""
addHeadersFor b ty = replaceHeader HdrContentLength (show (B.length b))
. replaceHeader HdrContentType ty