
Don Stewart wrote:
A version of Network.HTTP that accepts HTTPS URLs and does the right thing instead of attempting to do a HTTP connection instead.
Yeah, we use the curl library for all our HTTPS stuff.
Well there is a big difference between Network.Curl and Network.HTTP. HTTP is really easy to understand and use, while Curl is not. What I would like to do is a POST operation to a HTTPS server with Content-Type "text/xml" and then get the HTTP response code as well as the body which is also "text/xml". This should be easy and should be obvious, but unfortunately does not even seem to be supported by Network.Curl. The Network.Curl API is rather weird. It has a very sensible and obvious GET function: curlGetString :: URLString -> [CurlOption] -> IO (CurlCode, String) but no corresponding POST function. Instead it has: curlPost :: URLString -> [String] -> IO () curlMultiPost :: URLString -> [CurlOption] -> [HttpPost] -> IO () both of which seem to only support x-www-form-urlencoded data and not text/xml. Furthermore, whats with the 'IO ()' result? Wouldn't it make more sense to return 'IO (CurlCode, String)' like curlGetString? I don't like to be critical of other people's projects, but Network.Curl seems to be one huge ball of confusion. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/