`sig
type t
type curlCode =
CURLE_OK
| CURLE_UNSUPPORTED_PROTOCOL
| CURLE_FAILED_INIT
| CURLE_URL_MALFORMAT
| CURLE_URL_MALFORMAT_USER
| CURLE_COULDNT_RESOLVE_PROXY
| CURLE_COULDNT_RESOLVE_HOST
| CURLE_COULDNT_CONNECT
| CURLE_FTP_WEIRD_SERVER_REPLY
| CURLE_FTP_ACCESS_DENIED
| CURLE_FTP_USER_PASSWORD_INCORRECT
| CURLE_FTP_WEIRD_PASS_REPLY
| CURLE_FTP_WEIRD_USER_REPLY
| CURLE_FTP_WEIRD_PASV_REPLY
| CURLE_FTP_WEIRD_227_FORMAT
| CURLE_FTP_CANT_GET_HOST
| CURLE_FTP_CANT_RECONNECT
| CURLE_FTP_COULDNT_SET_BINARY
| CURLE_PARTIAL_FILE
| CURLE_FTP_COULDNT_RETR_FILE
| CURLE_FTP_WRITE_ERROR
| CURLE_FTP_QUOTE_ERROR
| CURLE_HTTP_NOT_FOUND
| CURLE_WRITE_ERROR
| CURLE_MALFORMAT_USER
| CURLE_FTP_COULDNT_STOR_FILE
| CURLE_READ_ERROR
| CURLE_OUT_OF_MEMORY
| CURLE_OPERATION_TIMEOUTED
| CURLE_FTP_COULDNT_SET_ASCII
| CURLE_FTP_PORT_FAILED
| CURLE_FTP_COULDNT_USE_REST
| CURLE_FTP_COULDNT_GET_SIZE
| CURLE_HTTP_RANGE_ERROR
| CURLE_HTTP_POST_ERROR
| CURLE_SSL_CONNECT_ERROR
| CURLE_FTP_BAD_DOWNLOAD_RESUME
| CURLE_FILE_COULDNT_READ_FILE
| CURLE_LDAP_CANNOT_BIND
| CURLE_LDAP_SEARCH_FAILED
| CURLE_LIBRARY_NOT_FOUND
| CURLE_FUNCTION_NOT_FOUND
| CURLE_ABORTED_BY_CALLBACK
| CURLE_BAD_FUNCTION_ARGUMENT
| CURLE_BAD_CALLING_ORDER
| CURLE_HTTP_PORT_FAILED
| CURLE_BAD_PASSWORD_ENTERED
| CURLE_TOO_MANY_REDIRECTS
| CURLE_UNKNOWN_TELNET_OPTION
| CURLE_TELNET_OPTION_SYNTAX
| CURLE_OBSOLETE
| CURLE_SSL_PEER_CERTIFICATE
| CURLE_GOT_NOTHING
| CURLE_SSL_ENGINE_NOTFOUND
| CURLE_SSL_ENGINE_SETFAILED
| CURLE_SEND_ERROR
| CURLE_RECV_ERROR
| CURLE_SHARE_IN_USE
| CURLE_SSL_CERTPROBLEM
| CURLE_SSL_CIPHER
| CURLE_SSL_CACERT
| CURLE_BAD_CONTENT_ENCODING
| CURLE_LDAP_INVALID_URL
| CURLE_FILESIZE_EXCEEDED
| CURLE_USE_SSL_FAILED
| CURLE_SEND_FAIL_REWIND
| CURLE_SSL_ENGINE_INITFAILED
| CURLE_LOGIN_DENIED
| CURLE_TFTP_NOTFOUND
| CURLE_TFTP_PERM
| CURLE_REMOTE_DISK_FULL
| CURLE_TFTP_ILLEGAL
| CURLE_TFTP_UNKNOWNID
| CURLE_REMOTE_FILE_EXISTS
| CURLE_TFTP_NOSUCHUSER
| CURLE_CONV_FAILED
| CURLE_CONV_REQD
| CURLE_SSL_CACERT_BADFILE
| CURLE_REMOTE_FILE_NOT_FOUND
| CURLE_SSH
| CURLE_SSL_SHUTDOWN_FAILED
| CURLE_AGAIN
exception CurlException of (Curl.curlCode * int * string)
exception NotImplemented of string
type curlNETRCOption =
CURL_NETRC_OPTIONAL
| CURL_NETRC_IGNORED
| CURL_NETRC_REQUIRED
type curlEncoding =
CURL_ENCODING_NONE
| CURL_ENCODING_DEFLATE
| CURL_ENCODING_GZIP
| CURL_ENCODING_ANY
type curlContentType = DEFAULT | CONTENTTYPE of string
type curlHTTPPost =
CURLFORM_CONTENT of string * string * Curl.curlContentType
| CURLFORM_FILECONTENT of string * string * Curl.curlContentType
| CURLFORM_FILE of string * string * Curl.curlContentType
| CURLFORM_BUFFER of string * string * string * Curl.curlContentType
type curlSSLVersion =
SSLVERSION_DEFAULT
| SSLVERSION_TLSv1
| SSLVERSION_SSLv2
| SSLVERSION_SSLv3
| SSLVERSION_TLSv1_0
| SSLVERSION_TLSv1_1
| SSLVERSION_TLSv1_2
| SSLVERSION_TLSv1_3
type curlTimeCondition =
TIMECOND_NONE
| TIMECOND_IFMODSINCE
| TIMECOND_IFUNMODSINCE
| TIMECOND_LASTMOD
type curlKRB4Level =
KRB4_NONE
| KRB4_CLEAR
| KRB4_SAFE
| KRB4_CONFIDENTIAL
| KRB4_PRIVATE
type curlClosePolicy = CLOSEPOLICY_OLDEST | CLOSEPOLICY_LEAST_RECENTLY_USED
type curlSSLVerifyHost =
SSLVERIFYHOST_NONE
| SSLVERIFYHOST_EXISTENCE
| SSLVERIFYHOST_HOSTNAME
type curlHTTPVersion =
HTTP_VERSION_NONE
| HTTP_VERSION_1_0
| HTTP_VERSION_1_1
| HTTP_VERSION_2
| HTTP_VERSION_2TLS
| HTTP_VERSION_2_PRIOR_KNOWLEDGE
| HTTP_VERSION_3
type curlDebugType =
DEBUGTYPE_TEXT
| DEBUGTYPE_HEADER_IN
| DEBUGTYPE_HEADER_OUT
| DEBUGTYPE_DATA_IN
| DEBUGTYPE_DATA_OUT
| DEBUGTYPE_SSL_DATA_IN
| DEBUGTYPE_SSL_DATA_OUT
| DEBUGTYPE_END
type curlAuth =
CURLAUTH_BASIC
| CURLAUTH_DIGEST
| CURLAUTH_GSSNEGOTIATE
| CURLAUTH_NTLM
| CURLAUTH_ANY
| CURLAUTH_ANYSAFE
type curlIPResolve = IPRESOLVE_WHATEVER | IPRESOLVE_V4 | IPRESOLVE_V6
type curlFTPSSL = FTPSSL_NONE | FTPSSL_TRY | FTPSSL_CONTROL | FTPSSL_ALL
type curlFTPSSLAuth = FTPAUTH_DEFAULT | FTPAUTH_SSL | FTPAUTH_TLS
type curlIOCmd = IOCMD_NOP | IOCMD_RESTARTREAD
type curlIOErr = IOE_OK | IOE_UNKNOWNCMD | IOE_FAILRESTART
type curlSeekResult = SEEKFUNC_OK | SEEKFUNC_FAIL | SEEKFUNC_CANTSEEK
type curlFTPMethod =
FTPMETHOD_DEFAULT
| FTPMETHOD_MULTICWD
| FTPMETHOD_NOCWD
| FTPMETHOD_SINGLECWD
type curlSSHAuthTypes =
SSHAUTH_ANY
| SSHAUTH_PUBLICKEY
| SSHAUTH_PASSWORD
| SSHAUTH_HOST
| SSHAUTH_KEYBOARD
type curlFTPSSLCCC =
FTPSSL_CCC_NONE
| FTPSSL_CCC_PASSIVE
| FTPSSL_CCC_ACTIVE
type curlSeek = SEEK_SET | SEEK_CUR | SEEK_END
type curlProxyType =
CURLPROXY_HTTP
| CURLPROXY_HTTP_1_0
| CURLPROXY_SOCKS4
| CURLPROXY_SOCKS5
| CURLPROXY_SOCKS4A
| CURLPROXY_SOCKS5_HOSTNAME
type data_source = String of string | File of string
type curlMIMEPartData =
CURLMIME_DATA of string
| CURLMIME_FILEDATA of string
| CURLMIME_DATA_WITH_NAME of { data : Curl.data_source;
name : string option; filename : string option;
}
type curlMIMEEncoding =
CURLMIME_8BIT
| CURLMIME_BINARY
| CURLMIME_7BIT
| CURLMIME_QUOTEDPRINTABLE
| CURLMIME_BASE64
| CURLMIME_NONE
type curlMIMEPart = {
encoding : Curl.curlMIMEEncoding;
headers : string list;
subparts : Curl.curlMIMEPart list;
data : Curl.curlMIMEPartData;
}
type curlKHMatch =
CURLKHMATCH_OK
| CURLKHMATCH_MISMATCH of string
| CURLKHMATCH_MISSING
type curlKHStat =
CURLKHSTAT_FINE_ADD_TO_FILE
| CURLKHSTAT_FINE
| CURLKHSTAT_REJECT
| CURLKHSTAT_DEFER
type curlProto =
CURLPROTO_ALL
| CURLPROTO_HTTP
| CURLPROTO_HTTPS
| CURLPROTO_FTP
| CURLPROTO_FTPS
| CURLPROTO_SCP
| CURLPROTO_SFTP
| CURLPROTO_TELNET
| CURLPROTO_LDAP
| CURLPROTO_LDAPS
| CURLPROTO_DICT
| CURLPROTO_FILE
| CURLPROTO_TFTP
| CURLPROTO_IMAP
| CURLPROTO_IMAPS
| CURLPROTO_POP3
| CURLPROTO_POP3S
| CURLPROTO_SMTP
| CURLPROTO_SMTPS
| CURLPROTO_RTSP
| CURLPROTO_RTMP
| CURLPROTO_RTMPT
| CURLPROTO_RTMPE
| CURLPROTO_RTMPTE
| CURLPROTO_RTMPS
| CURLPROTO_RTMPTS
| CURLPROTO_GOPHER
type curlPostRedir =
REDIR_POST_ALL
| REDIR_POST_301
| REDIR_POST_302
| REDIR_POST_303
type curlSslOption =
CURLSSLOPT_ALLOW_BEAST
| CURLSSLOPT_NO_REVOKE
| CURLSSLOPT_NO_PARTIALCHAIN
| CURLSSLOPT_REVOKE_BEST_EFFORT
| CURLSSLOPT_NATIVE_CA
| CURLSSLOPT_AUTO_CLIENT_CERT
type 'a xfer_result = Proceed of 'a | Pause | Abort
type write_result = unit Curl.xfer_result
type read_result = string Curl.xfer_result
val proceed : Curl.write_result
type curlOption =
CURLOPT_WRITEFUNCTION of (string -> int)
| CURLOPT_READFUNCTION of (int -> string)
| CURLOPT_INFILESIZE of int
| CURLOPT_URL of string
| CURLOPT_PROXY of string
| CURLOPT_PROXYPORT of int
| CURLOPT_HTTPPROXYTUNNEL of bool
| CURLOPT_VERBOSE of bool
| CURLOPT_HEADER of bool
| CURLOPT_NOPROGRESS of bool
| CURLOPT_NOSIGNAL of bool
| CURLOPT_NOBODY of bool
| CURLOPT_FAILONERROR of bool
| CURLOPT_UPLOAD of bool
| CURLOPT_POST of bool
| CURLOPT_FTPLISTONLY of bool
| CURLOPT_FTPAPPEND of bool
| CURLOPT_NETRC of Curl.curlNETRCOption
| CURLOPT_ENCODING of Curl.curlEncoding
| CURLOPT_FOLLOWLOCATION of bool
| CURLOPT_TRANSFERTEXT of bool
| CURLOPT_PUT of bool
| CURLOPT_USERPWD of string
| CURLOPT_PROXYUSERPWD of string
| CURLOPT_RANGE of string
| CURLOPT_ERRORBUFFER of string Stdlib.ref
| CURLOPT_TIMEOUT of int
| CURLOPT_POSTFIELDS of string
| CURLOPT_POSTFIELDSIZE of int
| CURLOPT_REFERER of string
| CURLOPT_USERAGENT of string
| CURLOPT_FTPPORT of string
| CURLOPT_LOWSPEEDLIMIT of int
| CURLOPT_LOWSPEEDTIME of int
| CURLOPT_RESUMEFROM of int
| CURLOPT_COOKIE of string
| CURLOPT_HTTPHEADER of string list
| CURLOPT_HTTPPOST of Curl.curlHTTPPost list
| CURLOPT_SSLCERT of string
| CURLOPT_SSLCERTTYPE of string
| CURLOPT_SSLCERTPASSWD of string
| CURLOPT_SSLKEY of string
| CURLOPT_SSLKEYTYPE of string
| CURLOPT_SSLKEYPASSWD of string
| CURLOPT_SSLENGINE of string
| CURLOPT_SSLENGINEDEFAULT of bool
| CURLOPT_CRLF of bool
| CURLOPT_QUOTE of string list
| CURLOPT_POSTQUOTE of string list
| CURLOPT_HEADERFUNCTION of (string -> int)
| CURLOPT_COOKIEFILE of string
| CURLOPT_SSLVERSION of Curl.curlSSLVersion
| CURLOPT_TIMECONDITION of Curl.curlTimeCondition
| CURLOPT_TIMEVALUE of int32
| CURLOPT_CUSTOMREQUEST of string
| CURLOPT_INTERFACE of string
| CURLOPT_KRB4LEVEL of Curl.curlKRB4Level
| CURLOPT_PROGRESSFUNCTION of (float -> float -> float -> float -> bool)
| CURLOPT_SSLVERIFYPEER of bool
| CURLOPT_CAINFO of string
| CURLOPT_CAPATH of string
| CURLOPT_FILETIME of bool
| CURLOPT_MAXREDIRS of int
| CURLOPT_MAXCONNECTS of int
| CURLOPT_CLOSEPOLICY of Curl.curlClosePolicy
| CURLOPT_FRESHCONNECT of bool
| CURLOPT_FORBIDREUSE of bool
| CURLOPT_RANDOMFILE of string
| CURLOPT_EGDSOCKET of string
| CURLOPT_CONNECTTIMEOUT of int
| CURLOPT_HTTPGET of bool
| CURLOPT_SSLVERIFYHOST of Curl.curlSSLVerifyHost
| CURLOPT_COOKIEJAR of string
| CURLOPT_SSLCIPHERLIST of string
| CURLOPT_HTTPVERSION of Curl.curlHTTPVersion
| CURLOPT_FTPUSEEPSV of bool
| CURLOPT_DNSCACHETIMEOUT of int
| CURLOPT_DNSUSEGLOBALCACHE of bool
| CURLOPT_DEBUGFUNCTION of
(Curl.t -> Curl.curlDebugType -> string -> unit)
| CURLOPT_PRIVATE of string
| CURLOPT_HTTP200ALIASES of string list
| CURLOPT_UNRESTRICTEDAUTH of bool
| CURLOPT_FTPUSEEPRT of bool
| CURLOPT_HTTPAUTH of Curl.curlAuth list
| CURLOPT_FTPCREATEMISSINGDIRS of bool
| CURLOPT_PROXYAUTH of Curl.curlAuth list
| CURLOPT_FTPRESPONSETIMEOUT of int
| CURLOPT_IPRESOLVE of Curl.curlIPResolve
| CURLOPT_MAXFILESIZE of int32
| CURLOPT_INFILESIZELARGE of int64
| CURLOPT_RESUMEFROMLARGE of int64
| CURLOPT_MAXFILESIZELARGE of int64
| CURLOPT_NETRCFILE of string
| CURLOPT_FTPSSL of Curl.curlFTPSSL
| CURLOPT_POSTFIELDSIZELARGE of int64
| CURLOPT_TCPNODELAY of bool
| CURLOPT_TCP_FASTOPEN of bool
| CURLOPT_FTPSSLAUTH of Curl.curlFTPSSLAuth
| CURLOPT_IOCTLFUNCTION of (Curl.t -> Curl.curlIOCmd -> Curl.curlIOErr)
| CURLOPT_FTPACCOUNT of string
| CURLOPT_COOKIELIST of string
| CURLOPT_IGNORECONTENTLENGTH of bool
| CURLOPT_FTPSKIPPASVIP of bool
| CURLOPT_FTPFILEMETHOD of Curl.curlFTPMethod
| CURLOPT_LOCALPORT of int
| CURLOPT_LOCALPORTRANGE of int
| CURLOPT_CONNECTONLY of bool
| CURLOPT_MAXSENDSPEEDLARGE of int64
| CURLOPT_MAXRECVSPEEDLARGE of int64
| CURLOPT_FTPALTERNATIVETOUSER of string
| CURLOPT_SSLSESSIONIDCACHE of bool
| CURLOPT_SSHAUTHTYPES of Curl.curlSSHAuthTypes list
| CURLOPT_SSHPUBLICKEYFILE of string
| CURLOPT_SSHPRIVATEKEYFILE of string
| CURLOPT_FTPSSLCCC of Curl.curlFTPSSLCCC
| CURLOPT_TIMEOUTMS of int
| CURLOPT_CONNECTTIMEOUTMS of int
| CURLOPT_HTTPTRANSFERDECODING of bool
| CURLOPT_HTTPCONTENTDECODING of bool
| CURLOPT_NEWFILEPERMS of int
| CURLOPT_NEWDIRECTORYPERMS of int
| CURLOPT_POST301 of bool
| CURLOPT_SSHHOSTPUBLICKEYMD5 of string
| CURLOPT_COPYPOSTFIELDS of string
| CURLOPT_PROXYTRANSFERMODE of bool
| CURLOPT_SEEKFUNCTION of (int64 -> Curl.curlSeek -> Curl.curlSeekResult)
| CURLOPT_AUTOREFERER of bool
| CURLOPT_OPENSOCKETFUNCTION of (Unix.file_descr -> unit)
| CURLOPT_PROXYTYPE of Curl.curlProxyType
| CURLOPT_PROTOCOLS of Curl.curlProto list
| CURLOPT_REDIR_PROTOCOLS of Curl.curlProto list
| CURLOPT_RESOLVE of string list
| CURLOPT_DNS_SERVERS of string
| CURLOPT_MAIL_FROM of string
| CURLOPT_MAIL_RCPT of string list
| CURLOPT_PIPEWAIT of bool
| CURLOPT_CERTINFO of bool
| CURLOPT_USERNAME of string
| CURLOPT_PASSWORD of string
| CURLOPT_LOGIN_OPTIONS of string
| CURLOPT_CONNECT_TO of string list
| CURLOPT_POSTREDIR of Curl.curlPostRedir list
| CURLOPT_MIMEPOST of Curl.curlMIMEPart list
| CURLOPT_SSHKNOWNHOSTS of string
| CURLOPT_SSHKEYFUNCTION of
(Curl.curlKHMatch -> string -> Curl.curlKHStat)
| CURLOPT_BUFFERSIZE of int
| CURLOPT_DOH_URL of string
| CURLOPT_SSL_OPTIONS of Curl.curlSslOption list
| CURLOPT_WRITEFUNCTION2 of (string -> Curl.write_result)
| CURLOPT_READFUNCTION2 of (int -> Curl.read_result)
| CURLOPT_XFERINFOFUNCTION of (int64 -> int64 -> int64 -> int64 -> bool)
type initOption =
CURLINIT_GLOBALALL
| CURLINIT_GLOBALSSL
| CURLINIT_GLOBALWIN32
| CURLINIT_GLOBALNOTHING
type curlInfo =
CURLINFO_EFFECTIVE_URL
| CURLINFO_HTTP_CODE
| CURLINFO_RESPONSE_CODE
| CURLINFO_TOTAL_TIME
| CURLINFO_NAMELOOKUP_TIME
| CURLINFO_CONNECT_TIME
| CURLINFO_PRETRANSFER_TIME
| CURLINFO_SIZE_UPLOAD
| CURLINFO_SIZE_DOWNLOAD
| CURLINFO_SPEED_DOWNLOAD
| CURLINFO_SPEED_UPLOAD
| CURLINFO_HEADER_SIZE
| CURLINFO_REQUEST_SIZE
| CURLINFO_SSL_VERIFYRESULT
| CURLINFO_FILETIME
| CURLINFO_CONTENT_LENGTH_DOWNLOAD
| CURLINFO_CONTENT_LENGTH_UPLOAD
| CURLINFO_STARTTRANSFER_TIME
| CURLINFO_CONTENT_TYPE
| CURLINFO_REDIRECT_TIME
| CURLINFO_REDIRECT_COUNT
| CURLINFO_PRIVATE
| CURLINFO_HTTP_CONNECTCODE
| CURLINFO_HTTPAUTH_AVAIL
| CURLINFO_PROXYAUTH_AVAIL
| CURLINFO_OS_ERRNO
| CURLINFO_NUM_CONNECTS
| CURLINFO_SSL_ENGINES
| CURLINFO_COOKIELIST
| CURLINFO_LASTSOCKET
| CURLINFO_FTP_ENTRY_PATH
| CURLINFO_REDIRECT_URL
| CURLINFO_PRIMARY_IP
| CURLINFO_LOCAL_IP
| CURLINFO_LOCAL_PORT
| CURLINFO_CONDITION_UNMET
| CURLINFO_CERTINFO
| CURLINFO_ACTIVESOCKET
| CURLINFO_HTTP_VERSION
type curlInfoResult =
CURLINFO_String of string
| CURLINFO_Long of int
| CURLINFO_Double of float
| CURLINFO_StringList of string list
| CURLINFO_StringListList of string list list
| CURLINFO_Socket of Unix.file_descr
| CURLINFO_Version of Curl.curlHTTPVersion
type curlSslBackend =
CURLSSLBACKEND_NONE
| CURLSSLBACKEND_OPENSSL
| CURLSSLBACKEND_GNUTLS
| CURLSSLBACKEND_NSS
| CURLSSLBACKEND_GSKIT
| CURLSSLBACKEND_WOLFSSL
| CURLSSLBACKEND_SCHANNEL
| CURLSSLBACKEND_SECURETRANSPORT
| CURLSSLBACKEND_MBEDTLS
| CURLSSLBACKEND_MESALINK
| CURLSSLBACKEND_BEARSSL
type curlSslSet =
CURLSSLSET_OK
| CURLSSLSET_UNKNOWN_BACKEND
| CURLSSLSET_TOO_LATE
| CURLSSLSET_NO_BACKENDS
type version_info = {
version : string;
number : int * int * int;
host : string;
features : string list;
ssl_version : string option;
libz_version : string option;
protocols : string list;
ares : string;
ares_num : int;
libidn : string;
iconv_ver_num : int;
libssh_version : string;
}
type pauseOption = PAUSE_SEND | PAUSE_RECV | PAUSE_ALL
exception CurlSslSetException of Curl.curlSslSet
val global_sslset : Curl.curlSslBackend -> unit
val global_sslset_str : string -> unit
val global_sslsetavail : unit -> Curl.curlSslBackend list
val global_sslsetavail_str : unit -> string list
val global_init : Curl.initOption -> unit
val global_cleanup : unit -> unit
val init : unit -> Curl.t
val reset : Curl.t -> unit
val setopt : Curl.t -> Curl.curlOption -> unit
val perform : Curl.t -> unit
val cleanup : Curl.t -> unit
val getinfo : Curl.t -> Curl.curlInfo -> Curl.curlInfoResult
val escape : string -> string
val unescape : string -> string
val getdate : string -> float -> float
val version : unit -> string
val strerror : Curl.curlCode -> string
val int_of_curlCode : Curl.curlCode -> int
val curlCode_of_int : int -> Curl.curlCode option
val errno : Curl.curlCode -> int
val version_info : unit -> Curl.version_info
val pause : Curl.t -> Curl.pauseOption list -> unit
val set_writefunction : Curl.t -> (string -> int) -> unit
val set_writefunction2 : Curl.t -> (string -> Curl.write_result) -> unit
val set_readfunction : Curl.t -> (int -> string) -> unit
val set_readfunction2 : Curl.t -> (int -> Curl.read_result) -> unit
val set_infilesize : Curl.t -> int -> unit
val set_url : Curl.t -> string -> unit
val set_proxy : Curl.t -> string -> unit
val set_proxyport : Curl.t -> int -> unit
val set_httpproxytunnel : Curl.t -> bool -> unit
val set_verbose : Curl.t -> bool -> unit
val set_header : Curl.t -> bool -> unit
val set_noprogress : Curl.t -> bool -> unit
val set_nosignal : Curl.t -> bool -> unit
val set_nobody : Curl.t -> bool -> unit
val set_failonerror : Curl.t -> bool -> unit
val set_upload : Curl.t -> bool -> unit
val set_post : Curl.t -> bool -> unit
val set_ftplistonly : Curl.t -> bool -> unit
val set_ftpappend : Curl.t -> bool -> unit
val set_netrc : Curl.t -> Curl.curlNETRCOption -> unit
val set_encoding : Curl.t -> Curl.curlEncoding -> unit
val set_followlocation : Curl.t -> bool -> unit
val set_transfertext : Curl.t -> bool -> unit
val set_put : Curl.t -> bool -> unit
val set_userpwd : Curl.t -> string -> unit
val set_proxyuserpwd : Curl.t -> string -> unit
val set_range : Curl.t -> string -> unit
val set_errorbuffer : Curl.t -> string Stdlib.ref -> unit
val set_timeout : Curl.t -> int -> unit
val set_postfields : Curl.t -> string -> unit
val set_postfieldsize : Curl.t -> int -> unit
val set_referer : Curl.t -> string -> unit
val set_useragent : Curl.t -> string -> unit
val set_ftpport : Curl.t -> string -> unit
val set_lowspeedlimit : Curl.t -> int -> unit
val set_lowspeedtime : Curl.t -> int -> unit
val set_resumefrom : Curl.t -> int -> unit
val set_cookie : Curl.t -> string -> unit
val set_httpheader : Curl.t -> string list -> unit
val set_httppost : Curl.t -> Curl.curlHTTPPost list -> unit
val set_sslcert : Curl.t -> string -> unit
val set_sslcerttype : Curl.t -> string -> unit
val set_sslcertpasswd : Curl.t -> string -> unit
val set_sslkey : Curl.t -> string -> unit
val set_sslkeytype : Curl.t -> string -> unit
val set_sslkeypasswd : Curl.t -> string -> unit
val set_sslengine : Curl.t -> string -> unit
val set_sslenginedefault : Curl.t -> bool -> unit
val set_certinfo : Curl.t -> bool -> unit
val set_crlf : Curl.t -> bool -> unit
val set_quote : Curl.t -> string list -> unit
val set_postquote : Curl.t -> string list -> unit
val set_headerfunction : Curl.t -> (string -> int) -> unit
val set_cookiefile : Curl.t -> string -> unit
val set_sslversion : Curl.t -> Curl.curlSSLVersion -> unit
val set_timecondition : Curl.t -> Curl.curlTimeCondition -> unit
val set_timevalue : Curl.t -> int32 -> unit
val set_customrequest : Curl.t -> string -> unit
val set_interface : Curl.t -> string -> unit
val set_krb4level : Curl.t -> Curl.curlKRB4Level -> unit
val set_progressfunction :
Curl.t -> (float -> float -> float -> float -> bool) -> unit
val set_xferinfofunction :
Curl.t -> (int64 -> int64 -> int64 -> int64 -> bool) -> unit
val set_sslverifypeer : Curl.t -> bool -> unit
val set_cainfo : Curl.t -> string -> unit
val set_capath : Curl.t -> string -> unit
val set_filetime : Curl.t -> bool -> unit
val set_maxredirs : Curl.t -> int -> unit
val set_maxconnects : Curl.t -> int -> unit
val set_closepolicy : Curl.t -> Curl.curlClosePolicy -> unit
val set_freshconnect : Curl.t -> bool -> unit
val set_forbidreuse : Curl.t -> bool -> unit
val set_randomfile : Curl.t -> string -> unit
val set_egdsocket : Curl.t -> string -> unit
val set_connecttimeout : Curl.t -> int -> unit
val set_httpget : Curl.t -> bool -> unit
val set_sslverifyhost : Curl.t -> Curl.curlSSLVerifyHost -> unit
val set_cookiejar : Curl.t -> string -> unit
val set_sslcipherlist : Curl.t -> string -> unit
val set_httpversion : Curl.t -> Curl.curlHTTPVersion -> unit
val set_ftpuseepsv : Curl.t -> bool -> unit
val set_dnscachetimeout : Curl.t -> int -> unit
val set_dnsuseglobalcache : Curl.t -> bool -> unit
val set_debugfunction :
Curl.t -> (Curl.t -> Curl.curlDebugType -> string -> unit) -> unit
val set_private : Curl.t -> string -> unit
val set_http200aliases : Curl.t -> string list -> unit
val set_unrestrictedauth : Curl.t -> bool -> unit
val set_ftpuseeprt : Curl.t -> bool -> unit
val set_httpauth : Curl.t -> Curl.curlAuth list -> unit
val set_ftpcreatemissingdirs : Curl.t -> bool -> unit
val set_proxyauth : Curl.t -> Curl.curlAuth list -> unit
val set_ftpresponsetimeout : Curl.t -> int -> unit
val set_ipresolve : Curl.t -> Curl.curlIPResolve -> unit
val set_maxfilesize : Curl.t -> int32 -> unit
val set_infilesizelarge : Curl.t -> int64 -> unit
val set_resumefromlarge : Curl.t -> int64 -> unit
val set_maxfilesizelarge : Curl.t -> int64 -> unit
val set_netrcfile : Curl.t -> string -> unit
val set_ftpssl : Curl.t -> Curl.curlFTPSSL -> unit
val set_postfieldsizelarge : Curl.t -> int64 -> unit
val set_tcpnodelay : Curl.t -> bool -> unit
val set_tcpfastopen : Curl.t -> bool -> unit
val set_ftpsslauth : Curl.t -> Curl.curlFTPSSLAuth -> unit
val set_ioctlfunction :
Curl.t -> (Curl.t -> Curl.curlIOCmd -> Curl.curlIOErr) -> unit
val set_ftpaccount : Curl.t -> string -> unit
val set_cookielist : Curl.t -> string -> unit
val set_ignorecontentlength : Curl.t -> bool -> unit
val set_ftpskippasvip : Curl.t -> bool -> unit
val set_ftpfilemethod : Curl.t -> Curl.curlFTPMethod -> unit
val set_localport : Curl.t -> int -> unit
val set_localportrange : Curl.t -> int -> unit
val set_connectonly : Curl.t -> bool -> unit
val set_maxsendspeedlarge : Curl.t -> int64 -> unit
val set_maxrecvspeedlarge : Curl.t -> int64 -> unit
val set_ftpalternativetouser : Curl.t -> string -> unit
val set_sslsessionidcache : Curl.t -> bool -> unit
val set_sshauthtypes : Curl.t -> Curl.curlSSHAuthTypes list -> unit
val set_sshpublickeyfile : Curl.t -> string -> unit
val set_sshprivatekeyfile : Curl.t -> string -> unit
val set_ftpsslccc : Curl.t -> Curl.curlFTPSSLCCC -> unit
val set_timeoutms : Curl.t -> int -> unit
val set_connecttimeoutms : Curl.t -> int -> unit
val set_httptransferdecoding : Curl.t -> bool -> unit
val set_httpcontentdecoding : Curl.t -> bool -> unit
val set_newfileperms : Curl.t -> int -> unit
val set_newdirectoryperms : Curl.t -> int -> unit
val set_post301 : Curl.t -> bool -> unit
val set_sshhostpublickeymd5 : Curl.t -> string -> unit
val set_copypostfields : Curl.t -> string -> unit
val set_proxytransfermode : Curl.t -> bool -> unit
val set_seekfunction :
Curl.t -> (int64 -> Curl.curlSeek -> Curl.curlSeekResult) -> unit
val set_autoreferer : Curl.t -> bool -> unit
val set_opensocketfunction : Curl.t -> (Unix.file_descr -> unit) -> unit
val set_proxytype : Curl.t -> Curl.curlProxyType -> unit
val set_protocols : Curl.t -> Curl.curlProto list -> unit
val set_redirprotocols : Curl.t -> Curl.curlProto list -> unit
val set_buffersize : Curl.t -> int -> unit
val set_doh_url : Curl.t -> string -> unit
val set_ssl_options : Curl.t -> Curl.curlSslOption list -> unit
val set_resolve :
Curl.t -> (string * int * string) list -> (string * int) list -> unit
val set_dns_servers : Curl.t -> string list -> unit
val set_mailfrom : Curl.t -> string -> unit
val set_mailrcpt : Curl.t -> string list -> unit
val set_pipewait : Curl.t -> bool -> unit
val set_username : Curl.t -> string -> unit
val set_password : Curl.t -> string -> unit
val set_login_options : Curl.t -> string -> unit
val set_connect_to : Curl.t -> string list -> unit
val set_postredir : Curl.t -> Curl.curlPostRedir list -> unit
val set_mimepost : Curl.t -> Curl.curlMIMEPart list -> unit
val set_sshknownhosts : Curl.t -> string -> unit
val set_sshkeyfunction :
Curl.t -> (Curl.curlKHMatch -> string -> Curl.curlKHStat) -> unit
val get_effectiveurl : Curl.t -> string
val get_redirecturl : Curl.t -> string
val get_httpcode : Curl.t -> int
val get_responsecode : Curl.t -> int
val get_totaltime : Curl.t -> float
val get_namelookuptime : Curl.t -> float
val get_connecttime : Curl.t -> float
val get_pretransfertime : Curl.t -> float
val get_sizeupload : Curl.t -> float
val get_sizedownload : Curl.t -> float
val get_speeddownload : Curl.t -> float
val get_speedupload : Curl.t -> float
val get_headersize : Curl.t -> int
val get_requestsize : Curl.t -> int
val get_sslverifyresult : Curl.t -> int
val get_filetime : Curl.t -> float
val get_contentlengthdownload : Curl.t -> float
val get_contentlengthupload : Curl.t -> float
val get_starttransfertime : Curl.t -> float
val get_contenttype : Curl.t -> string
val get_redirecttime : Curl.t -> float
val get_redirectcount : Curl.t -> int
val get_private : Curl.t -> string
val get_httpconnectcode : Curl.t -> int
val get_httpauthavail : Curl.t -> Curl.curlAuth list
val get_proxyauthavail : Curl.t -> Curl.curlAuth list
val get_oserrno : Curl.t -> int
val get_numconnects : Curl.t -> int
val get_sslengines : Curl.t -> string list
val get_cookielist : Curl.t -> string list
val get_lastsocket : Curl.t -> int
val get_activesocket : Curl.t -> Unix.file_descr option
val get_ftpentrypath : Curl.t -> string
val get_primaryip : Curl.t -> string
val get_localip : Curl.t -> string
val get_localport : Curl.t -> int
val get_conditionunmet : Curl.t -> bool
val get_certinfo : Curl.t -> string list list
val get_http_version : Curl.t -> Curl.curlHTTPVersion
class handle :
object
val conn : Curl.t
method cleanup : unit
method get_activesocket : Unix.file_descr option
method get_certinfo : string list list
method get_conditionunmet : bool
method get_connecttime : float
method get_contentlengthdownload : float
method get_contentlengthupload : float
method get_contenttype : string
method get_cookielist : string list
method get_effectiveurl : string
method get_filetime : float
method get_ftpentrypath : string
method get_headersize : int
method get_http_version : Curl.curlHTTPVersion
method get_httpauthavail : Curl.curlAuth list
method get_httpcode : int
method get_httpconnectcode : int
method get_lastsocket : int
method get_localip : string
method get_localport : int
method get_namelookuptime : float
method get_numconnects : int
method get_oserrno : int
method get_pretransfertime : float
method get_primaryip : string
method get_private : string
method get_proxyauthavail : Curl.curlAuth list
method get_redirectcount : int
method get_redirecttime : float
method get_redirecturl : string
method get_requestsize : int
method get_responsecode : int
method get_sizedownload : float
method get_sizeupload : float
method get_speeddownload : float
method get_speedupload : float
method get_sslengines : string list
method get_sslverifyresult : int
method get_starttransfertime : float
method get_totaltime : float
method handle : Curl.t
method perform : unit
method set_autoreferer : bool -> unit
method set_buffersize : int -> unit
method set_cainfo : string -> unit
method set_capath : string -> unit
method set_certinfo : bool -> unit
method set_closepolicy : Curl.curlClosePolicy -> unit
method set_connectonly : bool -> unit
method set_connecttimeout : int -> unit
method set_connecttimeoutms : int -> unit
method set_cookie : string -> unit
method set_cookiefile : string -> unit
method set_cookiejar : string -> unit
method set_cookielist : string -> unit
method set_copypostfields : string -> unit
method set_crlf : bool -> unit
method set_customrequest : string -> unit
method set_debugfunction :
(Curl.t -> Curl.curlDebugType -> string -> unit) -> unit
method set_dns_servers : string list -> unit
method set_dnscachetimeout : int -> unit
method set_dnsuseglobalcache : bool -> unit
method set_doh_url : string -> unit
method set_egdsocket : string -> unit
method set_encoding : Curl.curlEncoding -> unit
method set_errorbuffer : string Stdlib.ref -> unit
method set_failonerror : bool -> unit
method set_filetime : bool -> unit
method set_followlocation : bool -> unit
method set_forbidreuse : bool -> unit
method set_freshconnect : bool -> unit
method set_ftpaccount : string -> unit
method set_ftpalternativetouser : string -> unit
method set_ftpappend : bool -> unit
method set_ftpcreatemissingdirs : bool -> unit
method set_ftpfilemethod : Curl.curlFTPMethod -> unit
method set_ftplistonly : bool -> unit
method set_ftpport : string -> unit
method set_ftpresponsetimeout : int -> unit
method set_ftpskippasvip : bool -> unit
method set_ftpssl : Curl.curlFTPSSL -> unit
method set_ftpsslauth : Curl.curlFTPSSLAuth -> unit
method set_ftpsslccc : Curl.curlFTPSSLCCC -> unit
method set_ftpuseeprt : bool -> unit
method set_ftpuseepsv : bool -> unit
method set_header : bool -> unit
method set_headerfunction : (string -> int) -> unit
method set_http200aliases : string list -> unit
method set_httpauth : Curl.curlAuth list -> unit
method set_httpcontentdecoding : bool -> unit
method set_httpget : bool -> unit
method set_httpheader : string list -> unit
method set_httppost : Curl.curlHTTPPost list -> unit
method set_httpproxytunnel : bool -> unit
method set_httptransferdecoding : bool -> unit
method set_httpversion : Curl.curlHTTPVersion -> unit
method set_ignorecontentlength : bool -> unit
method set_infilesize : int -> unit
method set_infilesizelarge : int64 -> unit
method set_interface : string -> unit
method set_ioctlfunction :
(Curl.t -> Curl.curlIOCmd -> Curl.curlIOErr) -> unit
method set_ipresolve : Curl.curlIPResolve -> unit
method set_krb4level : Curl.curlKRB4Level -> unit
method set_localport : int -> unit
method set_localportrange : int -> unit
method set_lowspeedlimit : int -> unit
method set_lowspeedtime : int -> unit
method set_maxconnects : int -> unit
method set_maxfilesize : int32 -> unit
method set_maxfilesizelarge : int64 -> unit
method set_maxrecvspeedlarge : int64 -> unit
method set_maxredirs : int -> unit
method set_maxsendspeedlarge : int64 -> unit
method set_mimepost : Curl.curlMIMEPart list -> unit
method set_netrc : Curl.curlNETRCOption -> unit
method set_netrcfile : string -> unit
method set_newdirectoryperms : int -> unit
method set_newfileperms : int -> unit
method set_nobody : bool -> unit
method set_noprogress : bool -> unit
method set_nosignal : bool -> unit
method set_opensocketfunction : (Unix.file_descr -> unit) -> unit
method set_post : bool -> unit
method set_post301 : bool -> unit
method set_postfields : string -> unit
method set_postfieldsize : int -> unit
method set_postfieldsizelarge : int64 -> unit
method set_postquote : string list -> unit
method set_private : string -> unit
method set_progressfunction :
(float -> float -> float -> float -> bool) -> unit
method set_proxy : string -> unit
method set_proxyauth : Curl.curlAuth list -> unit
method set_proxyport : int -> unit
method set_proxytransfermode : bool -> unit
method set_proxytype : Curl.curlProxyType -> unit
method set_proxyuserpwd : string -> unit
method set_put : bool -> unit
method set_quote : string list -> unit
method set_randomfile : string -> unit
method set_range : string -> unit
method set_readfunction : (int -> string) -> unit
method set_readfunction2 : (int -> Curl.read_result) -> unit
method set_referer : string -> unit
method set_resolve :
(string * int * string) list -> (string * int) list -> unit
method set_resumefrom : int -> unit
method set_resumefromlarge : int64 -> unit
method set_seekfunction :
(int64 -> Curl.curlSeek -> Curl.curlSeekResult) -> unit
method set_sshauthtypes : Curl.curlSSHAuthTypes list -> unit
method set_sshhostpublickeymd5 : string -> unit
method set_sshkeyfunction :
(Curl.curlKHMatch -> string -> Curl.curlKHStat) -> unit
method set_sshknownhosts : string -> unit
method set_sshprivatekeyfile : string -> unit
method set_sshpublickeyfile : string -> unit
method set_ssl_options : Curl.curlSslOption list -> unit
method set_sslcert : string -> unit
method set_sslcertpasswd : string -> unit
method set_sslcerttype : string -> unit
method set_sslcipherlist : string -> unit
method set_sslengine : string -> unit
method set_sslenginedefault : bool -> unit
method set_sslkey : string -> unit
method set_sslkeypasswd : string -> unit
method set_sslkeytype : string -> unit
method set_sslsessionidcache : bool -> unit
method set_sslverifyhost : Curl.curlSSLVerifyHost -> unit
method set_sslverifypeer : bool -> unit
method set_sslversion : Curl.curlSSLVersion -> unit
method set_tcpfastopen : bool -> unit
method set_tcpnodelay : bool -> unit
method set_timecondition : Curl.curlTimeCondition -> unit
method set_timeout : int -> unit
method set_timeoutms : int -> unit
method set_timevalue : int32 -> unit
method set_transfertext : bool -> unit
method set_unrestrictedauth : bool -> unit
method set_upload : bool -> unit
method set_url : string -> unit
method set_useragent : string -> unit
method set_userpwd : string -> unit
method set_verbose : bool -> unit
method set_writefunction : (string -> int) -> unit
method set_writefunction2 : (string -> Curl.write_result) -> unit
method set_xferinfofunction :
(int64 -> int64 -> int64 -> int64 -> bool) -> unit
end
module Multi :
sig
type mt
type curlPipelining = PIPE_NOTHING | PIPE_HTTP1 | PIPE_MULTIPLEX
type curlMultiOption =
CURLMOPT_PIPELINING of Curl.Multi.curlPipelining list
| CURLMOPT_MAXCONNECTS of int
| CURLMOPT_MAX_PIPELINE_LENGTH of int
| CURLMOPT_MAX_HOST_CONNECTIONS of int
| CURLMOPT_MAX_TOTAL_CONNECTIONS of int
exception Error of string
type cerror
exception CError of string * Curl.Multi.cerror * string
val create : unit -> Curl.Multi.mt
val add : Curl.Multi.mt -> Curl.t -> unit
val remove : Curl.Multi.mt -> Curl.t -> unit
val perform : Curl.Multi.mt -> int
val wait : ?timeout_ms:int -> Curl.Multi.mt -> bool
val poll : ?timeout_ms:int -> Curl.Multi.mt -> bool
val remove_finished : Curl.Multi.mt -> (Curl.t * Curl.curlCode) option
val cleanup : Curl.Multi.mt -> unit
type poll = POLL_NONE | POLL_IN | POLL_OUT | POLL_INOUT | POLL_REMOVE
type fd_status = EV_AUTO | EV_IN | EV_OUT | EV_INOUT
val set_socket_function :
Curl.Multi.mt -> (Unix.file_descr -> Curl.Multi.poll -> unit) -> unit
val set_timer_function : Curl.Multi.mt -> (int -> unit) -> unit
val action_all : Curl.Multi.mt -> int
val action_timeout : Curl.Multi.mt -> unit
val action :
Curl.Multi.mt -> Unix.file_descr -> Curl.Multi.fd_status -> int
external timeout : Curl.Multi.mt -> int = "caml_curl_multi_timeout"
val setopt : Curl.Multi.mt -> Curl.Multi.curlMultiOption -> unit
end
end`