curl-1.3.2: Haskell binding to libcurlContentsIndex
Network.Curl.Opts
Portabilityportable
Stabilityprovisional
Maintaineremertens@galois.com
Description
This module contains the various options that specify what happens when we use perform on a Curl handle.
Documentation
data CurlOption
Constructors
CurlFileObj (Ptr ())external pointer to pass to as WriteFunctions last argument.
CurlURL URLStringthe URL to use for next request; can be the full URL or just the authority/hostname.
CurlPort Longwhat port to use.
CurlProxy Stringname of proxy
CurlUserPwd Stringthe user:pass string to use
CurlProxyUserPwd Stringsame thing, but for the proxy.
CurlRange Stringbyte range to fetch
CurlInFile FilePathexternal pointer to pass to as WriteFunctions last argument.
CurlErrorBuffer (Ptr CChar)buffer for curl to deposit error messages (must at least CURL_ERROR_SIZE bytes long). Uses standard error if not specified.
CurlWriteFunction WriteFunctioncallback to handle incoming data.
CurlReadFunction ReadFunctioncallback for supplying outgoing/uploaded data.
CurlTimeout Longnumber of seconds before timing out curl operation/request.
CurlInFileSize Longexpected size of uploaded data.
CurlPostFields [String](Multipart) POST data.
CurlReferer StringSet the Referer: header to the given string.
CurlFtpPort StringThe string to feed to the FTP PORT command.
CurlUserAgent StringSet the User-Agent: header to the given string.
CurlLowSpeed LongIf the bytes per sec drops below the given value, the operation is aborted.
CurlLowSpeedTime LongUpper bound for request to complete.
CurlResumeFrom LongByte offset at which the transfer (HTTP or FTP) should start from.
CurlCookie StringSet the Cookie: header to the given cookie (name=value pairs, semicolon-separated) string.
CurlHttpHeaders [String]Embellish the outgoing request with the given list of (formatted) header values.
CurlHttpPost [HttpPost](Multipart) POST data.
CurlSSLCert FilePathfile holding your private SSL certificates (default format is PEM).
CurlSSLPassword Stringpassword to the above file.
CurlSSLKeyPassword Stringan alias for the previous.
CurlCRLF BoolIf true, convert Unix newlines into CRLFs when transferring.
CurlQuote [String]Sequence of FTP commands to execute prior to the main request.
CurlWriteHeader (Ptr ())State / pointer argument to pass to WriteFunction callback.
CurlCookieFile FilePathPath to file holding initial cookie data; also enables cookie handling.
CurlSSLVersion LongWhat protocol to attempt using (0:default;1:TLS;2:SSLv2;3:SSLv3)
CurlTimeCondition TimeCondHow to interpret a conditional time value.
CurlTimeValue LongNumber of secs since Jan 1, 1970. Interpretation is determined by CurlTimeCondition.
CurlCustomRequest StringString holding alternative request command (WebDAV anyone?)
CurlPostQuote [String]List of commands to issue to FTP server after the main request.
CurlWriteInfo StringNot sure what this one does; something about passing it to the output function.
CurlVerbose BoolControl verbosity
CurlHeader BoolDisplay outgoing and incoming headers
CurlNoProgress BoolControl progress meter
CurlNoBody BoolUse HEAD instead of GET
CurlFailOnError BoolIf status response is >= 300, return an error (and no other output).
CurlUpload BoolControl the main dataflow, i.e., True to perform uploads.
CurlPost BoolIssue a POST request.
CurlFtpListOnly BoolSwitch NLST for FTP directory listings
CurlFtpAppend BoolControl if FTP uploads append rather than overwrite files
CurlUseNetRc NetRcOptioncontrol how or if a user's.netrc will be consulted for user:password
CurlFollowLocation BoolHandle auto-redirects by chasing down Location: values in responses.
CurlTransferTextASCII BoolTurn on ASCII transfers for FTP transfers; default is binary (i.e. off).
CurlPut BoolUse PUT to upload data.
CurlProgressFunction ProgressFunctioncallback for showing progress
CurlProgressData (Ptr ())state argumentto pass to progress callback.
CurlAutoReferer BoolControl if the Referer: field is set upon following Location: redirects
CurlProxyPort Long(Numeric) proxy port to use.
CurlPostFieldSize LongSize of the POSTed data.
CurlHttpProxyTunnel Booltunnel all HTTP operations through the proxy.
CurlInterface StringInterface name of outgoing network interface ( network interface, IP address, host name.)
CurlKrb4Level StringKerberos security level (clear, safe, confidential, private are good values, seemingly.)
CurlSSLVerifyPeer BoolEnable the authentication of peer certificate. Default is True.
CurlCAInfo FilePathIf verifying peer's certificate, use certificates in this file to do so.
CurlMaxRedirs LongMaximum number of Location: redirects to chase down before giving up.
CurlFiletime BoolTry to determine the modification date of remote document; can be queried for.
CurlTelnetOptions [String]List of commands to use for initial telnet negotiations.
CurlMaxConnects LongMaximum number of cached active connections.
CurlClosePolicy LongNo effect (obsolete.)
CurlFreshConnect BoolForce the opening up a new connection rather than try to reuse active connections. Default is not to.
CurlForbidReuse BoolDo not reuse the connection of next transfer when done.
CurlRandomFile FilePathPath to file used to seed (Open)SSL PRNG.
CurlEgdSocket FilePathPath to domain socket of EG Daemon.
CurlConnectTimeout Longmax number of seconds to wait for the initial connection to happen.
CurlHeaderFunction WriteFunctioncallback used to handle _incoming_ header data.
CurlHttpGet BoolRevert to a GET for the next request.
CurlSSLVerifyHost LongPerform Common name checking in peer certificate (1=> existence;2=> matches hostname.)
CurlCookieJar FilePathPath to file where additional cookie information will be stored.
CurlSSLCipherList StringColon-separated string list of cipher preferences to use for upcoming connection (e.g., 3DES:+RSA)
CurlHttpVersion HttpVersionWhat HTTP version to use, should you want to drop back for some reason.
CurlFtpUseEPSV BoolAttempt the use of EPSV before PASV for passive FTP downloads.
CurlSSLCertType StringThe format of your certificates (PEM, DER)
CurlSSLKey FilePathFilename of private key.
CurlSSLKeyType StringFormat of private key; use ENG to load from a crypto engine.
CurlSSLEngine StringName of crypto engine to use.
CurlSSLEngineDefaultMake crypto engine the default for crypto operations.
CurlDNSUseGlobalCache BoolHave library uses its MT-unfriendly DNS global cache.
CurlDNSCacheTimeout LongNumber of seconds to cache results of DNS lookups in memory.
CurlPreQuote [String]FTP commands to issue after connection and transfer mode has been set.
CurlDebugFunction DebugFunctioncallback to catch and report transfer operations.
CurlDebugData (Ptr ())state argument to pass to debug callback.
CurlCookieSession BoolSignal the start of a cookie session, ignoring previous session cookies.
CurlCAPath FilePathDirectory holding CA certificates; used when verifying peer certificate.
CurlBufferSize LongTurn (down, presumably) the buffers the received data is chunked up into (and reported to the WriteFunction.) A hint, library is free to ignore.
CurlNoSignal BoolTurn off use of signals internally.
CurlShare (Ptr ())Share handles are used for sharing data among concurrent Curl objects.
CurlProxyType LongWhat type of proxy to use.
CurlEncoding StringWhat to report in the Accept-Encoding: header
CurlPrivate (Ptr ())Data associated with a Curl handle.
CurlHttp200Aliases StringAlternatives to standard 200 OK response strings; whatever it takes, I suppose.
CurlUnrestrictedAuth BoolPass on user:pass when following redirects.
CurlFtppUseEPRT BoolFor active FTP downloads, try using EPRT command over LPRT.
CurlHttpAuth [HttpAuth]State your authentication preferences.
CurlSSLCtxFunction SSLCtxtFunctioncallback to handle setting up SSL connections; have the power to abort them.
CurlSSLCtxData (Ptr ())state argument to pass into the above callback.
CurlFtpCreateMissingDirs BoolHave remote directories be created if not already there
CurlProxyAuth [HttpAuth]What preferred authentication schemes to use wrt. proxy.
CurlFtpResponseTimeout Longmax number of seconds to wait for remote server to ACK commands.
CurlIPResolve LongWhether to resolve wrt IPv4 or IPv6.
CurlMaxFileSize LongLimit the number of bytes you're willing to download.
CurlInFileSizeLarge LLongWider alternative of option giving upper bound of uploaded content (-1 => unknown.)
CurlResumeFromLarge LLongWider alternative for specifying initial transfer offset.
CurlMaxFileSizeLarge LLongWider alternative for specifying max download size.
CurlNetrcFile FilePathPath to user's .netrc
CurlFtpSSL LongTry enabling the use of SSL for FTP control connections and/or transfers.
CurlPostFieldSizeLarge LLongSize of data to POST; if unspecified (or -1), curl uses strlen().
CurlTCPNoDelay BoolTurn on or off the TCP/IP NODELAY option.
CurlFtpSSLAuth LongTwiddle if TLS or SSL is used.
CurlIOCTLFunction (Ptr ())somewhat obscure callback for handling read stream resets.
CurlIOCTLData (Ptr ())state argument to the above.
CurlFtpAccount StringThe string to use when server asks for account info.
CurlCookieList StringCookie string to pass cookie engine; ALL scrubs all cookie info; SESS scrubs session ones.
CurlIgnoreContentLength BoolIf Content-Length: values are troublesome (wrong, perhaps?), use this option to ignore using them as guidance.
CurlFtpSkipPASVIP BoolIgnore IP address in 227 responses.
CurlFtpFileMethod LongHow to navigate to a file on the remote server (single, multiple CWDs).
CurlLocalPort PortWhat local port to use for established connection.
CurlLocalPortRange PortNumber of attempts at finding local ports (using LocalPort as initial base.)
CurlConnectOnly BoolIf enabled, perform all steps up until actual transfer. next three for completeness.
CurlConvFromNetworkFunction (Ptr ())callback for doing character translations from network format.
CurlConvToNetworkFunction (Ptr ())callback for doing character translations to network format.
CurlConvFromUtf8Function (Ptr ())callback for translating UTF8 into host encoding.
CurlMaxSendSpeedLarge LLongSpecifies throttle value for outgoing data.
CurlMaxRecvSpeedLarge LLongSpecifies throttle for incoming data.
CurlFtpAlternativeToUser StringAlternative (to user:pass) for FTP authentication; weird.
CurlSockOptFunction (Ptr ())callback that's injected between socket creation and connection.
CurlSockOptData (Ptr ())state argument to the above.
CurlSSLSessionIdCache BoolEnable the SSL session id cache; default is on, so use this to disable.
CurlSSHAuthTypes [SSHAuthType]SSH authentication methods to use.
CurlSSHPublicKeyFile FilePathPath to file holding user's SSH public key.
CurlSSHPrivateKeyFile FilePathPath to file holding user's SSH private key.
CurlFtpSSLCCC BoolSend CCC command after FTP connection has been authenticated.
CurlTimeoutMS LongMax number of milliseconds that a transfer may take.
CurlConnectTimeoutMS LongMax number of milliseconds that a connection attempt may take to complete.
CurlHttpTransferDecoding BoolDisable transfer decoding; if disabled, curl will turn off chunking.
CurlHttpContentDecoding BoolDisable content decoding, getting the raw bits.
data HttpVersion
Constructors
HttpVersionNone
HttpVersion10
HttpVersion11
show/hide Instances
data TimeCond
Constructors
TimeCondNone
TimeCondIfModSince
TimeCondIfUnmodSince
TimeCondLastMode
show/hide Instances
data NetRcOption
Constructors
NetRcIgnored
NetRcOptional
NetRcRequired
show/hide Instances
data HttpAuth
Constructors
HttpAuthNone
HttpAuthBasic
HttpAuthDigest
HttpAuthGSSNegotiate
HttpAuthNTLM
HttpAuthAny
HttpAuthAnySafe
toHttpAuthMask :: [HttpAuth] -> Long
data SSHAuthType
Constructors
SSHAuthAny
SSHAuthNone
SSHAuthPublickey
SSHAuthPassword
SSHAuthHost
SSHAuthKeyboard
toSSHAuthMask :: [SSHAuthType] -> Long
type WriteFunction
 = Ptr CCharpointer to external buffer holding data
-> CIntwidth (in bytes) of each item
-> CIntnumber of items
-> Ptr ()state argument (file pointer etc.)
-> IO CIntnumber of bytes written.
type ReadFunction
 = Ptr CCharpointer to external buffer to fill in.
-> CIntwidth (in bytes) of each item
-> CIntnumber of items
-> Ptr ()state argument (file pointer etc.)
-> IO (Maybe CInt)how many bytes was copied into buffer; Nothing => abort.
type ReadFunctionPrim = Ptr CChar -> CInt -> CInt -> Ptr () -> IO CInt
type ProgressFunction
 = Ptr ()state argument
-> Doubleexpected download totals
-> Doubledownload totals so far
-> Doubleexpected upload totals
-> Doubleupload totals so far
-> IO CIntnot sure; 0 is a good one.
type DebugFunction
 = Curlconnection handle
-> DebugInfotype of call
-> Ptr CChardata buffer
-> CIntlength of buffer
-> Ptr ()state argument
-> IO ()always 0
data DebugInfo
Constructors
InfoText
InfoHeaderIn
InfoHeaderOut
InfoDataIn
InfoDataOut
InfoSslDataIn
InfoSslDataOut
show/hide Instances
type DebugFunctionPrim
 = CurlHconnection handle
-> CInttype of call
-> Ptr CChardata buffer
-> CIntlength of buffer
-> Ptr ()state argument
-> IO CIntalways 0
type SSLCtxtFunction
 = CurlHconnection handle
-> Ptr ()the SSL_CTX handle
-> Ptr ()state argument
-> IO CInt
curl_readfunc_abort :: CInt
baseLong :: Int
baseObject :: Int
baseFunction :: Int
baseOffT :: Int
unmarshallOption :: Unmarshaller a -> CurlOption -> IO a
data Unmarshaller a
Constructors
Unmarshaller
u_long :: (Int -> Long -> IO a)
u_llong :: (Int -> LLong -> IO a)
u_string :: (Int -> String -> IO a)
u_strings :: (Int -> [String] -> IO a)
u_ptr :: (Int -> Ptr () -> IO a)
u_writeFun :: (Int -> WriteFunction -> IO a)
u_readFun :: (Int -> ReadFunction -> IO a)
u_progressFun :: (Int -> ProgressFunction -> IO a)
u_debugFun :: (Int -> DebugFunction -> IO a)
u_posts :: (Int -> [HttpPost] -> IO a)
u_sslctxt :: (Int -> SSLCtxtFunction -> IO a)
u_ioctl_fun :: (Int -> Ptr () -> IO a)
u_convFromNetwork :: (Int -> Ptr () -> IO a)
u_convToNetwork :: (Int -> Ptr () -> IO a)
u_convFromUtf8 :: (Int -> Ptr () -> IO a)
u_sockoptFun :: (Int -> Ptr () -> IO a)
verboseUnmarshaller :: Unmarshaller a -> Unmarshaller a
u_bool :: Unmarshaller a -> Int -> Bool -> IO a
u_enum :: Enum b => Unmarshaller a -> Int -> b -> IO a
u_cptr :: Unmarshaller a -> Int -> Ptr CChar -> IO a
Produced by Haddock version 0.9