|
Network.Curl | Portability | portable | Stability | provisional | Maintainer | Sigbjorn Finne <sof@galois.com> |
|
|
|
Description |
A Haskell binding the libcurl library http://curl.haxx.se/, a
proven and feature-rich library for interacting with HTTP(S)/FTP
servers.
The binding was initially made against version 7.16.2; libcurl does
appear to be considerate in not introducing breaking changes wrt
older versions. So, unless you're after the latest features (i.e.,
constructors towards the end the Option type), there's a very good
chance your code will work against older installations of libcurl.
|
|
Synopsis |
|
module Network.Curl.Opts | | module Network.Curl.Easy | | module Network.Curl.Post | | module Network.Curl.Info | | module Network.Curl.Types | | module Network.Curl.Code | | withCurlDo :: IO a -> IO a | | setopts :: Curl -> [CurlOption] -> IO () | | data CurlResponse_ headerTy bodyTy = CurlResponse {} | | type CurlResponse = CurlResponse_ [(String, String)] String | | curlGet :: URLString -> [CurlOption] -> IO () | | curlGetString :: URLString -> [CurlOption] -> IO (CurlCode, String) | | curlGetResponse :: URLString -> [CurlOption] -> IO CurlResponse | | perform_with_response :: (CurlHeader hdrTy, CurlBuffer bufTy) => Curl -> IO (CurlResponse_ hdrTy bufTy) | | do_curl :: Curl -> URLString -> [CurlOption] -> IO CurlResponse | | curlGetString_ :: CurlBuffer ty => URLString -> [CurlOption] -> IO (CurlCode, ty) | | curlGetResponse_ :: (CurlHeader hdr, CurlBuffer ty) => URLString -> [CurlOption] -> IO (CurlResponse_ hdr ty) | | perform_with_response_ :: (CurlHeader headerTy, CurlBuffer bodyTy) => Curl -> IO (CurlResponse_ headerTy bodyTy) | | do_curl_ :: (CurlHeader headerTy, CurlBuffer bodyTy) => Curl -> URLString -> [CurlOption] -> IO (CurlResponse_ headerTy bodyTy) | | curlHead_ :: CurlHeader headers => URLString -> [CurlOption] -> IO (String, headers) | | curlHead :: URLString -> [CurlOption] -> IO (String, [(String, String)]) | | curlMultiPost :: URLString -> [CurlOption] -> [HttpPost] -> IO () | | curlPost :: URLString -> [String] -> IO () | | getResponseCode :: Curl -> IO Int | | setDefaultSSLOpts :: Curl -> URLString -> IO () | | callbackWriter :: (String -> IO ()) -> WriteFunction | | easyWriter :: (String -> IO ()) -> WriteFunction | | ignoreOutput :: WriteFunction | | gatherOutput :: IORef [String] -> WriteFunction | | gatherOutput_ :: (CStringLen -> IO ()) -> WriteFunction | | class CurlBuffer bufferTy where | | | class CurlHeader headerTy where | | | method_GET :: [CurlOption] | | method_HEAD :: [CurlOption] | | method_POST :: [CurlOption] | | parseStatusNHeaders :: String -> (String, [(String, String)]) | | parseHeader :: String -> (String, String) | | concRev :: [a] -> [[a]] -> [a] |
|
|
Documentation |
|
module Network.Curl.Opts |
|
module Network.Curl.Easy |
|
module Network.Curl.Post |
|
module Network.Curl.Info |
|
module Network.Curl.Types |
|
module Network.Curl.Code |
|
|
Should be used once to wrap all uses of libcurl.
WARNING: the argument should not return before it
is completely done with curl (e.g., no forking or lazy returns)
|
|
|
Set a list of options on a Curl handle.
|
|
data CurlResponse_ headerTy bodyTy | Source |
|
CurlResponse_ is a record type encoding all the information
embodied in a response to your Curl request. Currently only used
to gather up the results of doing a GET in curlGetResponse.
| Constructors | |
|
|
|
|
|
curlGet perform a basic GET, dumping the output on stdout.
The list of options are set prior performing the GET request.
|
|
|
curlGetString performs the same request as curlGet, but
returns the response body as a Haskell string.
|
|
|
|
|
Perform the actions already specified on the handle.
Collects useful information about the returned message.
Note that this function sets the
CurlWriteFunction and CurlHeaderFunction options.
|
|
|
Performs a curl request using an exisitng curl handle.
The provided URL will overwride any CurlURL options that
are provided in the list of options. See also: perform_with_response.
|
|
|
|
|
curlGetResponse url opts performs a GET, returning all the info
it can lay its hands on in the response, a value of type CurlResponse.
The representation of the body is overloaded
|
|
|
Perform the actions already specified on the handle.
Collects useful information about the returned message.
Note that this function sets the
CurlWriteFunction and CurlHeaderFunction options.
The returned payload is overloaded over the representation of
both headers and body via the CurlResponse_ type.
|
|
|
|
|
Get the headers associated with a particular URL.
Returns the status line and the key-value pairs for the headers.
|
|
|
Get the headers associated with a particular URL.
Returns the status line and the key-value pairs for the headers.
|
|
|
curlMultiPost perform a multi-part POST submission.
|
|
|
curlPost performs. a common POST operation, namely that
of submitting a sequence of name=value pairs.
|
|
|
|
|
|
|
Imports data into the Haskell world and invokes the callback.
|
|
|
|
|
The output of Curl is ignored. This function
does not marshall data into Haskell.
|
|
|
Add chunks of data to an IORef as they arrive.
|
|
|
Add chunks of data to an IORef as they arrive.
|
|
class CurlBuffer bufferTy where | Source |
|
The CurlBuffer class encodes the representation
of response buffers, allowing you to provide your
own app-specific buffer reps to be used..or use
one of the standard instances (String and ByteStrings.)
| | Methods | | | Instances | |
|
|
class CurlHeader headerTy where | Source |
|
The CurlHeader class encodes the representation
of response headers. Similar to CurlBuffer.
| | Methods | | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
concRev :: [a] -> [[a]] -> [a] | Source |
|
|
Produced by Haddock version 2.4.2 |