unimportant

This commit is contained in:
Cosmin Apreutesei
2019-12-10 16:25:20 +02:00
parent 9e2703d219
commit c17045a5c5
4 changed files with 671 additions and 494 deletions
+281 -229
View File
@@ -306,226 +306,279 @@ cb_curl_write_callback = cb('curl_write_callback', function(func)
end)
easy._setopt_options = {
[C.CURLOPT_TIMEOUT] = long,
[C.CURLOPT_VERBOSE] = longbool,
[C.CURLOPT_STDERR] = voidp, --FILE*
[C.CURLOPT_ERRORBUFFER] = ctype'char*', --output buffer
[C.CURLOPT_FAILONERROR] = longbool,
[C.CURLOPT_NOPROGRESS] = longbool,
[C.CURLOPT_PROGRESSFUNCTION] = cb'curl_progress_callback',
[C.CURLOPT_PROGRESSDATA] = voidp,
[C.CURLOPT_URL] = str,
[C.CURLOPT_PORT] = long,
[C.CURLOPT_PROTOCOLS] = flags'CURLPROTO_',
[C.CURLOPT_DEFAULT_PROTOCOL] = str,
[C.CURLOPT_USERPWD] = str, --user:pass
[C.CURLOPT_RANGE] = str,
[C.CURLOPT_REFERER] = str,
[C.CURLOPT_USERAGENT] = str,
[C.CURLOPT_POSTFIELDS] = str,
[C.CURLOPT_COOKIE] = str,
[C.CURLOPT_COOKIEFILE] = voidp,
[C.CURLOPT_POST] = longbool,
[C.CURLOPT_PUT] = longbool,
[C.CURLOPT_HEADER] = longbool,
[C.CURLOPT_HEADERDATA] = voidp,
[C.CURLOPT_NOBODY] = longbool,
[C.CURLOPT_FOLLOWLOCATION] = longbool,
[C.CURLOPT_PROXY] = str,
[C.CURLOPT_PROXYTYPE] = flag'CURLPROXY_',
[C.CURLOPT_PROXYPORT] = long,
[C.CURLOPT_PROXYUSERPWD] = str,
[C.CURLOPT_PROXY_SERVICE_NAME] = str,
[C.CURLOPT_PROXYAUTH] = flags('CURLAUTH_', 'unsigned long'),
[C.CURLOPT_PROXY_TRANSFER_MODE] = longbool,
[C.CURLOPT_PROXYUSERNAME] = str,
[C.CURLOPT_PROXYPASSWORD] = str,
[C.CURLOPT_PROXYHEADER] = slist,
[C.CURLOPT_NOPROXY] = str, --proxy exception list
[C.CURLOPT_WRITEFUNCTION] = cb_curl_write_callback,
[C.CURLOPT_WRITEDATA] = voidp, --FILE* or callback arg
[C.CURLOPT_READFUNCTION] = cb'curl_read_callback',
[C.CURLOPT_READDATA] = voidp,
--[C.CURLOPT_INFILESIZE] = long,
[C.CURLOPT_LOW_SPEED_LIMIT] = long,
[C.CURLOPT_LOW_SPEED_TIME] = long,
[C.CURLOPT_MAX_SEND_SPEED] = off_t,
[C.CURLOPT_MAX_RECV_SPEED] = off_t,
--[C.CURLOPT_RESUME_FROM] = long,
[C.CURLOPT_KEYPASSWD] = str,
[C.CURLOPT_CRLF] = longbool,
[C.CURLOPT_QUOTE] = str,
[C.CURLOPT_TIMECONDITION] = flag'CURL_TIMECOND_',
[C.CURLOPT_TIMEVALUE] = long, --time_t
[C.CURLOPT_CUSTOMREQUEST] = str,
[C.CURLOPT_POSTQUOTE] = slist,
[C.CURLOPT_UPLOAD] = longbool,
[C.CURLOPT_DIRLISTONLY] = longbool,
[C.CURLOPT_APPEND] = longbool,
[C.CURLOPT_TRANSFERTEXT] = longbool,
[C.CURLOPT_AUTOREFERER] = longbool,
--[C.CURLOPT_POSTFIELDSIZE] = long,
[C.CURLOPT_HTTPHEADER] = slist,
[C.CURLOPT_HTTPPOST] = httppost,
[C.CURLOPT_HTTPPROXYTUNNEL] = longbool,
[C.CURLOPT_HTTPGET] = longbool,
[C.CURLOPT_HTTP_VERSION] = flag'CURL_HTTP_VERSION_',
[C.CURLOPT_HTTP200ALIASES] = slist,
[C.CURLOPT_HTTPAUTH] = flags('CURLAUTH_', 'unsigned long'),
[C.CURLOPT_HTTP_TRANSFER_DECODING] = longbool,
[C.CURLOPT_HTTP_CONTENT_DECODING] = longbool,
[C.CURLOPT_INTERFACE] = str,
[C.CURLOPT_KRBLEVEL] = longbool,
[C.CURLOPT_CAINFO] = str,
[C.CURLOPT_MAXREDIRS] = long,
[C.CURLOPT_FILETIME] = longbool,
[C.CURLOPT_TELNETOPTIONS] = slist,
[C.CURLOPT_MAXCONNECTS] = long,
[C.CURLOPT_FRESH_CONNECT] = longbool,
[C.CURLOPT_FORBID_REUSE] = longbool,
[C.CURLOPT_RANDOM_FILE] = str,
[C.CURLOPT_EGDSOCKET] = str,
[C.CURLOPT_CONNECTTIMEOUT] = long,
[C.CURLOPT_HEADERFUNCTION] = cb_curl_write_callback,
[C.CURLOPT_COOKIEJAR] = str,
[C.CURLOPT_USE_SSL] = flag'CURLUSESSL_',
[C.CURLOPT_SSLCERT] = str,
[C.CURLOPT_SSLVERSION] = long,
[C.CURLOPT_SSLCERTTYPE] = str,
[C.CURLOPT_SSLKEY] = str,
[C.CURLOPT_SSLKEYTYPE] = str,
[C.CURLOPT_SSLENGINE] = str,
[C.CURLOPT_SSLENGINE_DEFAULT] = longbool,
[C.CURLOPT_SSL_OPTIONS] = flags'CURLSSLOPT_',
[C.CURLOPT_SSL_CIPHER_LIST] = str,
[C.CURLOPT_SSL_VERIFYHOST] = function(b) return 'long', b and 2 or 0 end,
[C.CURLOPT_SSL_VERIFYPEER] = longbool,
[C.CURLOPT_SSL_CTX_FUNCTION] = cb'curl_ssl_ctx_callback',
[C.CURLOPT_SSL_CTX_DATA] = voidp,
[C.CURLOPT_SSL_SESSIONID_CACHE] = longbool,
[C.CURLOPT_SSL_ENABLE_NPN] = longbool,
[C.CURLOPT_SSL_ENABLE_ALPN] = longbool,
[C.CURLOPT_SSL_VERIFYSTATUS] = longbool,
[C.CURLOPT_SSL_FALSESTART] = longbool,
[C.CURLOPT_PREQUOTE] = slist,
[C.CURLOPT_DEBUGFUNCTION] = cb'curl_debug_callback',
[C.CURLOPT_DEBUGDATA] = voidp,
[C.CURLOPT_COOKIESESSION] = longbool,
[C.CURLOPT_CAPATH] = str,
[C.CURLOPT_BUFFERSIZE] = long,
[C.CURLOPT_NOSIGNAL] = longbool,
[C.CURLOPT_SHARE] = ctype'CURLSH*',
[C.CURLOPT_ACCEPT_ENCODING] = str,
[C.CURLOPT_PRIVATE] = voidp,
[C.CURLOPT_UNRESTRICTED_AUTH] = longbool,
[C.CURLOPT_SERVER_RESPONSE_TIMEOUT] = long,
[C.CURLOPT_IPRESOLVE] = flag'CURL_IPRESOLVE_',
--[C.CURLOPT_MAXFILESIZE] = long,
[C.CURLOPT_INFILESIZE] = off_t,
[C.CURLOPT_RESUME_FROM] = off_t,
[C.CURLOPT_MAXFILESIZE] = off_t,
[C.CURLOPT_POSTFIELDSIZE] = off_t,
[C.CURLOPT_TCP_NODELAY] = longbool,
[C.CURLOPT_FTPSSLAUTH] = flag'CURLFTPAUTH_',
[C.CURLOPT_IOCTLFUNCTION] = cb'curl_ioctl_callback',
[C.CURLOPT_IOCTLDATA] = voidp,
[C.CURLOPT_COOKIELIST] = str,
[C.CURLOPT_IGNORE_CONTENT_LENGTH] = longbool,
[C.CURLOPT_FTPPORT] = str, --IP:PORT
[C.CURLOPT_FTP_USE_EPRT] = longbool,
[C.CURLOPT_FTP_CREATE_MISSING_DIRS] = flag'CURLFTP_CREATE_DIR_',
[C.CURLOPT_FTP_RESPONSE_TIMEOUT] = long,
[C.CURLOPT_FTP_USE_EPSV] = longbool,
[C.CURLOPT_FTP_ACCOUNT] = str,
[C.CURLOPT_FTP_SKIP_PASV_IP] = longbool,
[C.CURLOPT_FTP_FILEMETHOD] = flag'CURLFTPMETHOD_',
[C.CURLOPT_FTP_USE_PRET] = longbool,
[C.CURLOPT_FTP_SSL_CCC] = flag'CURLFTPSSL_CCC_',
[C.CURLOPT_FTP_ALTERNATIVE_TO_USER] = str,
[C.CURLOPT_LOCALPORT] = long,
[C.CURLOPT_LOCALPORTRANGE] = long,
[C.CURLOPT_CONNECT_ONLY] = longbool,
[C.CURLOPT_CONV_FROM_NETWORK_FUNCTION] = cb'curl_conv_callback',
[C.CURLOPT_CONV_TO_NETWORK_FUNCTION] = cb'curl_conv_callback',
[C.CURLOPT_CONV_FROM_UTF8_FUNCTION] = cb'curl_conv_callback',
[C.CURLOPT_SOCKOPTFUNCTION] = cb'curl_sockopt_callback',
[C.CURLOPT_SOCKOPTDATA] = voidp,
[C.CURLOPT_SSH_AUTH_TYPES] = flags'CURLSSH_AUTH_',
[C.CURLOPT_SSH_PUBLIC_KEYFILE] = str,
[C.CURLOPT_SSH_PRIVATE_KEYFILE] = str,
[C.CURLOPT_SSH_KNOWNHOSTS] = str,
[C.CURLOPT_SSH_KEYFUNCTION] = cb'curl_sshkeycallback',
[C.CURLOPT_SSH_KEYDATA] = voidp,
[C.CURLOPT_SSH_HOST_PUBLIC_KEY_MD5] = str,
[C.CURLOPT_TIMEOUT_MS] = long,
[C.CURLOPT_CONNECTTIMEOUT_MS] = long,
[C.CURLOPT_NEW_FILE_PERMS] = long,
[C.CURLOPT_NEW_DIRECTORY_PERMS] = long,
[C.CURLOPT_POSTREDIR] = flag'CURL_REDIR_',
[C.CURLOPT_OPENSOCKETFUNCTION] = cb'curl_opensocket_callback',
[C.CURLOPT_OPENSOCKETDATA] = voidp,
[C.CURLOPT_COPYPOSTFIELDS] = str,
[C.CURLOPT_SEEKFUNCTION] = cb'curl_seek_callback',
[C.CURLOPT_SEEKDATA] = voidp,
[C.CURLOPT_CRLFILE] = str,
[C.CURLOPT_ISSUERCERT] = str,
[C.CURLOPT_ADDRESS_SCOPE] = long,
[C.CURLOPT_CERTINFO] = longbool,
[C.CURLOPT_USERNAME] = str,
[C.CURLOPT_PASSWORD] = str,
[C.CURLOPT_SOCKS5_GSSAPI_SERVICE] = str,
[C.CURLOPT_SOCKS5_GSSAPI_NEC] = longbool,
[C.CURLOPT_REDIR_PROTOCOLS] = flags'CURLPROTO_',
[C.CURLOPT_MAIL_FROM] = str,
[C.CURLOPT_MAIL_RCPT] = str,
[C.CURLOPT_MAIL_AUTH] = str,
[C.CURLOPT_RTSP_REQUEST] = flag'CURL_RTSPREQ_',
[C.CURLOPT_RTSP_SESSION_ID] = str,
[C.CURLOPT_RTSP_STREAM_URI] = str,
[C.CURLOPT_RTSP_TRANSPORT] = str,
[C.CURLOPT_RTSP_CLIENT_CSEQ] = long,
[C.CURLOPT_RTSP_SERVER_CSEQ] = long,
[C.CURLOPT_TFTP_BLKSIZE] = long,
[C.CURLOPT_INTERLEAVEDATA] = voidp,
[C.CURLOPT_INTERLEAVEFUNCTION] = cb_curl_write_callback,
[C.CURLOPT_CHUNK_BGN_FUNCTION] = cb'curl_chunk_bgn_callback',
[C.CURLOPT_CHUNK_END_FUNCTION] = cb'curl_chunk_end_callback',
[C.CURLOPT_CHUNK_DATA] = voidp,
[C.CURLOPT_FNMATCH_FUNCTION] = cb'curl_fnmatch_callback',
[C.CURLOPT_FNMATCH_DATA] = voidp,
[C.CURLOPT_RESOLVE] = slist,
[C.CURLOPT_WILDCARDMATCH] = longbool,
[C.CURLOPT_TLSAUTH_USERNAME] = str,
[C.CURLOPT_TLSAUTH_PASSWORD] = str,
[C.CURLOPT_TLSAUTH_TYPE] = str,
[C.CURLOPT_TRANSFER_ENCODING] = longbool,
[C.CURLOPT_CLOSESOCKETFUNCTION] = cb'curl_closesocket_callback',
[C.CURLOPT_CLOSESOCKETDATA] = voidp,
[C.CURLOPT_GSSAPI_DELEGATION] = long,
[C.CURLOPT_ACCEPTTIMEOUT_MS] = long,
[C.CURLOPT_TCP_KEEPALIVE] = longbool,
[C.CURLOPT_TCP_KEEPIDLE] = long,
[C.CURLOPT_TCP_KEEPINTVL] = long,
[C.CURLOPT_SASL_IR] = longbool,
[C.CURLOPT_XOAUTH2_BEARER] = str,
[C.CURLOPT_XFERINFOFUNCTION] = cb'curl_xferinfo_callback',
[C.CURLOPT_XFERINFODATA] = voidp,
[C.CURLOPT_NETRC] = flag'CURL_NETRC_',
[C.CURLOPT_NETRC_FILE] = str,
[C.CURLOPT_DNS_SERVERS] = str,
[C.CURLOPT_DNS_INTERFACE] = str,
[C.CURLOPT_DNS_LOCAL_IP4] = str,
[C.CURLOPT_DNS_LOCAL_IP6] = str,
[C.CURLOPT_DNS_USE_GLOBAL_CACHE] = longbool,
[C.CURLOPT_DNS_CACHE_TIMEOUT] = long,
[C.CURLOPT_LOGIN_OPTIONS] = str,
[C.CURLOPT_EXPECT_100_TIMEOUT_MS] = long,
[C.CURLOPT_HEADEROPT] = flag'CURLHEADER_',
[C.CURLOPT_PINNEDPUBLICKEY] = str,
[C.CURLOPT_UNIX_SOCKET_PATH] = str,
[C.CURLOPT_PATH_AS_IS] = longbool,
[C.CURLOPT_SERVICE_NAME] = str,
[C.CURLOPT_PIPEWAIT] = longbool,
[C.CURLOPT_TIMEOUT ] = long,
[C.CURLOPT_VERBOSE ] = longbool,
[C.CURLOPT_STDERR ] = voidp, --FILE*
[C.CURLOPT_ERRORBUFFER ] = ctype'char*', --output buffer
[C.CURLOPT_FAILONERROR ] = longbool,
[C.CURLOPT_NOPROGRESS ] = longbool,
[C.CURLOPT_PROGRESSFUNCTION ] = cb'curl_progress_callback',
[C.CURLOPT_PROGRESSDATA ] = voidp,
[C.CURLOPT_URL ] = str,
[C.CURLOPT_PORT ] = long,
[C.CURLOPT_PROTOCOLS ] = flags'CURLPROTO_',
[C.CURLOPT_DEFAULT_PROTOCOL ] = str,
[C.CURLOPT_USERPWD ] = str, --user:pass
[C.CURLOPT_RANGE ] = str,
[C.CURLOPT_REFERER ] = str,
[C.CURLOPT_USERAGENT ] = str,
[C.CURLOPT_POSTFIELDS ] = str,
[C.CURLOPT_COOKIE ] = str,
[C.CURLOPT_COOKIEFILE ] = voidp,
[C.CURLOPT_POST ] = longbool,
[C.CURLOPT_PUT ] = longbool,
[C.CURLOPT_HEADER ] = longbool,
[C.CURLOPT_HEADERDATA ] = voidp,
[C.CURLOPT_NOBODY ] = longbool,
[C.CURLOPT_FOLLOWLOCATION ] = longbool,
[C.CURLOPT_PROXY ] = str,
[C.CURLOPT_PROXYTYPE ] = flag'CURLPROXY_',
[C.CURLOPT_PROXYPORT ] = long,
[C.CURLOPT_PROXYUSERPWD ] = str,
[C.CURLOPT_PROXY_SERVICE_NAME ] = str,
[C.CURLOPT_PROXYAUTH ] = flags('CURLAUTH_', 'unsigned long'),
[C.CURLOPT_PROXY_TRANSFER_MODE ] = longbool,
[C.CURLOPT_PROXYUSERNAME ] = str,
[C.CURLOPT_PROXYPASSWORD ] = str,
[C.CURLOPT_PROXYHEADER ] = slist,
[C.CURLOPT_NOPROXY ] = str, --proxy exception list
[C.CURLOPT_WRITEFUNCTION ] = cb_curl_write_callback,
[C.CURLOPT_WRITEDATA ] = voidp, --FILE* or callback arg
[C.CURLOPT_READFUNCTION ] = cb'curl_read_callback',
[C.CURLOPT_READDATA ] = voidp,
--[C.CURLOPT_INFILESIZE ] = long,
[C.CURLOPT_LOW_SPEED_LIMIT ] = long,
[C.CURLOPT_LOW_SPEED_TIME ] = long,
[C.CURLOPT_MAX_SEND_SPEED ] = off_t,
[C.CURLOPT_MAX_RECV_SPEED ] = off_t,
--[C.CURLOPT_RESUME_FROM ] = long,
[C.CURLOPT_KEYPASSWD ] = str,
[C.CURLOPT_CRLF ] = longbool,
[C.CURLOPT_QUOTE ] = str,
[C.CURLOPT_TIMECONDITION ] = flag'CURL_TIMECOND_',
[C.CURLOPT_TIMEVALUE ] = long, --time_t
[C.CURLOPT_CUSTOMREQUEST ] = str,
[C.CURLOPT_POSTQUOTE ] = slist,
[C.CURLOPT_UPLOAD ] = longbool,
[C.CURLOPT_DIRLISTONLY ] = longbool,
[C.CURLOPT_APPEND ] = longbool,
[C.CURLOPT_TRANSFERTEXT ] = longbool,
[C.CURLOPT_AUTOREFERER ] = longbool,
--[C.CURLOPT_POSTFIELDSIZE ] = long,
[C.CURLOPT_HTTPHEADER ] = slist,
[C.CURLOPT_HTTPPOST ] = httppost,
[C.CURLOPT_HTTPPROXYTUNNEL ] = longbool,
[C.CURLOPT_HTTPGET ] = longbool,
[C.CURLOPT_HTTP_VERSION ] = flag'CURL_HTTP_VERSION_',
[C.CURLOPT_HTTP200ALIASES ] = slist,
[C.CURLOPT_HTTPAUTH ] = flags('CURLAUTH_', 'unsigned long'),
[C.CURLOPT_HTTP_TRANSFER_DECODING ] = longbool,
[C.CURLOPT_HTTP_CONTENT_DECODING ] = longbool,
[C.CURLOPT_INTERFACE ] = str,
[C.CURLOPT_KRBLEVEL ] = longbool,
[C.CURLOPT_CAINFO ] = str,
[C.CURLOPT_MAXREDIRS ] = long,
[C.CURLOPT_FILETIME ] = longbool,
[C.CURLOPT_TELNETOPTIONS ] = slist,
[C.CURLOPT_MAXCONNECTS ] = long,
[C.CURLOPT_FRESH_CONNECT ] = longbool,
[C.CURLOPT_FORBID_REUSE ] = longbool,
[C.CURLOPT_RANDOM_FILE ] = str,
[C.CURLOPT_EGDSOCKET ] = str,
[C.CURLOPT_CONNECTTIMEOUT ] = long,
[C.CURLOPT_HEADERFUNCTION ] = cb_curl_write_callback,
[C.CURLOPT_COOKIEJAR ] = str,
[C.CURLOPT_USE_SSL ] = flag'CURLUSESSL_',
[C.CURLOPT_SSLCERT ] = str,
[C.CURLOPT_SSLVERSION ] = long,
[C.CURLOPT_SSLCERTTYPE ] = str,
[C.CURLOPT_SSLKEY ] = str,
[C.CURLOPT_SSLKEYTYPE ] = str,
[C.CURLOPT_SSLENGINE ] = str,
[C.CURLOPT_SSLENGINE_DEFAULT ] = longbool,
[C.CURLOPT_SSL_OPTIONS ] = flags'CURLSSLOPT_',
[C.CURLOPT_SSL_CIPHER_LIST ] = str,
[C.CURLOPT_SSL_VERIFYHOST ] = function(b) return 'long', b and 2 or 0 end,
[C.CURLOPT_SSL_VERIFYPEER ] = longbool,
[C.CURLOPT_SSL_CTX_FUNCTION ] = cb'curl_ssl_ctx_callback',
[C.CURLOPT_SSL_CTX_DATA ] = voidp,
[C.CURLOPT_SSL_SESSIONID_CACHE ] = longbool,
[C.CURLOPT_SSL_ENABLE_NPN ] = longbool,
[C.CURLOPT_SSL_ENABLE_ALPN ] = longbool,
[C.CURLOPT_SSL_VERIFYSTATUS ] = longbool,
[C.CURLOPT_SSL_FALSESTART ] = longbool,
[C.CURLOPT_PREQUOTE ] = slist,
[C.CURLOPT_DEBUGFUNCTION ] = cb'curl_debug_callback',
[C.CURLOPT_DEBUGDATA ] = voidp,
[C.CURLOPT_COOKIESESSION ] = longbool,
[C.CURLOPT_CAPATH ] = str,
[C.CURLOPT_BUFFERSIZE ] = long,
[C.CURLOPT_NOSIGNAL ] = longbool,
[C.CURLOPT_SHARE ] = ctype'CURLSH*',
[C.CURLOPT_ACCEPT_ENCODING ] = str,
[C.CURLOPT_PRIVATE ] = voidp,
[C.CURLOPT_UNRESTRICTED_AUTH ] = longbool,
[C.CURLOPT_SERVER_RESPONSE_TIMEOUT ] = long,
[C.CURLOPT_IPRESOLVE ] = flag'CURL_IPRESOLVE_',
--[C.CURLOPT_MAXFILESIZE ] = long,
[C.CURLOPT_INFILESIZE ] = off_t,
[C.CURLOPT_RESUME_FROM ] = off_t,
[C.CURLOPT_MAXFILESIZE ] = off_t,
[C.CURLOPT_POSTFIELDSIZE ] = off_t,
[C.CURLOPT_TCP_NODELAY ] = longbool,
[C.CURLOPT_FTPSSLAUTH ] = flag'CURLFTPAUTH_',
[C.CURLOPT_IOCTLFUNCTION ] = cb'curl_ioctl_callback',
[C.CURLOPT_IOCTLDATA ] = voidp,
[C.CURLOPT_COOKIELIST ] = str,
[C.CURLOPT_IGNORE_CONTENT_LENGTH ] = longbool,
[C.CURLOPT_FTPPORT ] = str, --IP:PORT
[C.CURLOPT_FTP_USE_EPRT ] = longbool,
[C.CURLOPT_FTP_CREATE_MISSING_DIRS ] = flag'CURLFTP_CREATE_DIR_',
[C.CURLOPT_FTP_RESPONSE_TIMEOUT ] = long,
[C.CURLOPT_FTP_USE_EPSV ] = longbool,
[C.CURLOPT_FTP_ACCOUNT ] = str,
[C.CURLOPT_FTP_SKIP_PASV_IP ] = longbool,
[C.CURLOPT_FTP_FILEMETHOD ] = flag'CURLFTPMETHOD_',
[C.CURLOPT_FTP_USE_PRET ] = longbool,
[C.CURLOPT_FTP_SSL_CCC ] = flag'CURLFTPSSL_CCC_',
[C.CURLOPT_FTP_ALTERNATIVE_TO_USER ] = str,
[C.CURLOPT_LOCALPORT ] = long,
[C.CURLOPT_LOCALPORTRANGE ] = long,
[C.CURLOPT_CONNECT_ONLY ] = longbool,
[C.CURLOPT_CONV_FROM_NETWORK_FUNCTION ] = cb'curl_conv_callback',
[C.CURLOPT_CONV_TO_NETWORK_FUNCTION ] = cb'curl_conv_callback',
[C.CURLOPT_CONV_FROM_UTF8_FUNCTION ] = cb'curl_conv_callback',
[C.CURLOPT_SOCKOPTFUNCTION ] = cb'curl_sockopt_callback',
[C.CURLOPT_SOCKOPTDATA ] = voidp,
[C.CURLOPT_SSH_AUTH_TYPES ] = flags'CURLSSH_AUTH_',
[C.CURLOPT_SSH_PUBLIC_KEYFILE ] = str,
[C.CURLOPT_SSH_PRIVATE_KEYFILE ] = str,
[C.CURLOPT_SSH_KNOWNHOSTS ] = str,
[C.CURLOPT_SSH_KEYFUNCTION ] = cb'curl_sshkeycallback',
[C.CURLOPT_SSH_KEYDATA ] = voidp,
[C.CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 ] = str,
[C.CURLOPT_TIMEOUT_MS ] = long,
[C.CURLOPT_CONNECTTIMEOUT_MS ] = long,
[C.CURLOPT_NEW_FILE_PERMS ] = long,
[C.CURLOPT_NEW_DIRECTORY_PERMS ] = long,
[C.CURLOPT_POSTREDIR ] = flag'CURL_REDIR_',
[C.CURLOPT_OPENSOCKETFUNCTION ] = cb'curl_opensocket_callback',
[C.CURLOPT_OPENSOCKETDATA ] = voidp,
[C.CURLOPT_COPYPOSTFIELDS ] = str,
[C.CURLOPT_SEEKFUNCTION ] = cb'curl_seek_callback',
[C.CURLOPT_SEEKDATA ] = voidp,
[C.CURLOPT_CRLFILE ] = str,
[C.CURLOPT_ISSUERCERT ] = str,
[C.CURLOPT_ADDRESS_SCOPE ] = long,
[C.CURLOPT_CERTINFO ] = longbool,
[C.CURLOPT_USERNAME ] = str,
[C.CURLOPT_PASSWORD ] = str,
[C.CURLOPT_SOCKS5_GSSAPI_SERVICE ] = str,
[C.CURLOPT_SOCKS5_GSSAPI_NEC ] = longbool,
[C.CURLOPT_REDIR_PROTOCOLS ] = flags'CURLPROTO_',
[C.CURLOPT_MAIL_FROM ] = str,
[C.CURLOPT_MAIL_RCPT ] = str,
[C.CURLOPT_MAIL_AUTH ] = str,
[C.CURLOPT_RTSP_REQUEST ] = flag'CURL_RTSPREQ_',
[C.CURLOPT_RTSP_SESSION_ID ] = str,
[C.CURLOPT_RTSP_STREAM_URI ] = str,
[C.CURLOPT_RTSP_TRANSPORT ] = str,
[C.CURLOPT_RTSP_CLIENT_CSEQ ] = long,
[C.CURLOPT_RTSP_SERVER_CSEQ ] = long,
[C.CURLOPT_TFTP_BLKSIZE ] = long,
[C.CURLOPT_INTERLEAVEDATA ] = voidp,
[C.CURLOPT_INTERLEAVEFUNCTION ] = cb_curl_write_callback,
[C.CURLOPT_CHUNK_BGN_FUNCTION ] = cb'curl_chunk_bgn_callback',
[C.CURLOPT_CHUNK_END_FUNCTION ] = cb'curl_chunk_end_callback',
[C.CURLOPT_CHUNK_DATA ] = voidp,
[C.CURLOPT_FNMATCH_FUNCTION ] = cb'curl_fnmatch_callback',
[C.CURLOPT_FNMATCH_DATA ] = voidp,
[C.CURLOPT_RESOLVE ] = slist,
[C.CURLOPT_WILDCARDMATCH ] = longbool,
[C.CURLOPT_TLSAUTH_USERNAME ] = str,
[C.CURLOPT_TLSAUTH_PASSWORD ] = str,
[C.CURLOPT_TLSAUTH_TYPE ] = str,
[C.CURLOPT_TRANSFER_ENCODING ] = longbool,
[C.CURLOPT_CLOSESOCKETFUNCTION ] = cb'curl_closesocket_callback',
[C.CURLOPT_CLOSESOCKETDATA ] = voidp,
[C.CURLOPT_GSSAPI_DELEGATION ] = long,
[C.CURLOPT_ACCEPTTIMEOUT_MS ] = long,
[C.CURLOPT_TCP_KEEPALIVE ] = longbool,
[C.CURLOPT_TCP_KEEPIDLE ] = long,
[C.CURLOPT_TCP_KEEPINTVL ] = long,
[C.CURLOPT_SASL_IR ] = longbool,
[C.CURLOPT_XOAUTH2_BEARER ] = str,
[C.CURLOPT_XFERINFOFUNCTION ] = cb'curl_xferinfo_callback',
[C.CURLOPT_XFERINFODATA ] = voidp,
[C.CURLOPT_NETRC ] = flag'CURL_NETRC_',
[C.CURLOPT_NETRC_FILE ] = str,
[C.CURLOPT_DNS_SERVERS ] = str,
[C.CURLOPT_DNS_INTERFACE ] = str,
[C.CURLOPT_DNS_LOCAL_IP4 ] = str,
[C.CURLOPT_DNS_LOCAL_IP6 ] = str,
[C.CURLOPT_DNS_USE_GLOBAL_CACHE ] = longbool,
[C.CURLOPT_DNS_CACHE_TIMEOUT ] = long,
[C.CURLOPT_LOGIN_OPTIONS ] = str,
[C.CURLOPT_EXPECT_100_TIMEOUT_MS ] = long,
[C.CURLOPT_HEADEROPT ] = flag'CURLHEADER_',
[C.CURLOPT_PINNEDPUBLICKEY ] = str,
[C.CURLOPT_UNIX_SOCKET_PATH ] = str,
[C.CURLOPT_PATH_AS_IS ] = longbool,
[C.CURLOPT_SERVICE_NAME ] = str,
[C.CURLOPT_PIPEWAIT ] = longbool,
[C.CURLOPT_DEFAULT_PROTOCOL ] = str,
[C.CURLOPT_STREAM_WEIGHT ] = long,
[C.CURLOPT_STREAM_DEPENDS ] = ctype'CURL*',
[C.CURLOPT_STREAM_DEPENDS_E ] = ctype'CURL*',
[C.CURLOPT_TFTP_NO_OPTIONS ] = long,
[C.CURLOPT_CONNECT_TO ] = slist,
[C.CURLOPT_TCP_FASTOPEN ] = longbool,
[C.CURLOPT_KEEP_SENDING_ON_ERROR ] = longbool,
[C.CURLOPT_PROXY_CAINFO ] = str,
[C.CURLOPT_PROXY_CAPATH ] = str,
[C.CURLOPT_PROXY_SSL_VERIFYPEER ] = longbool,
[C.CURLOPT_PROXY_SSL_VERIFYHOST ] = function(b) return 'long', b and 2 or 0 end,
[C.CURLOPT_PROXY_SSLVERSION ] = flag'CURL_SSLVERSION_',
[C.CURLOPT_PROXY_TLSAUTH_USERNAME ] = str,
[C.CURLOPT_PROXY_TLSAUTH_PASSWORD ] = str,
[C.CURLOPT_PROXY_TLSAUTH_TYPE ] = str,
[C.CURLOPT_PROXY_SSLCERT ] = str,
[C.CURLOPT_PROXY_SSLCERTTYPE ] = str,
[C.CURLOPT_PROXY_SSLKEY ] = str,
[C.CURLOPT_PROXY_SSLKEYTYPE ] = str,
[C.CURLOPT_PROXY_KEYPASSWD ] = str,
[C.CURLOPT_PROXY_SSL_CIPHER_LIST ] = str,
[C.CURLOPT_PROXY_CRLFILE ] = str,
[C.CURLOPT_PROXY_SSL_OPTIONS ] = flags'CURLSSLOPT_',
[C.CURLOPT_PRE_PROXY ] = str,
[C.CURLOPT_PROXY_PINNEDPUBLICKEY ] = str,
[C.CURLOPT_ABSTRACT_UNIX_SOCKET ] = str,
[C.CURLOPT_SUPPRESS_CONNECT_HEADERS ] = longbool,
[C.CURLOPT_REQUEST_TARGET ] = str,
[C.CURLOPT_SOCKS5_AUTH ] = flags('CURLAUTH_', 'unsigned long'),
[C.CURLOPT_SSH_COMPRESSION ] = longbool,
[C.CURLOPT_MIMEPOST ] = ctype'curl_mime*',
[C.CURLOPT_TIMEVALUE ] = off_t,
[C.CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS ] = long,
[C.CURLOPT_RESOLVER_START_FUNCTION ] = cb'curl_resolver_start_callback',
[C.CURLOPT_RESOLVER_START_DATA ] = voidp,
[C.CURLOPT_HAPROXYPROTOCOL ] = longbool,
[C.CURLOPT_DNS_SHUFFLE_ADDRESSES ] = longbool,
[C.CURLOPT_TLS13_CIPHERS ] = str,
[C.CURLOPT_PROXY_TLS13_CIPHERS ] = str,
[C.CURLOPT_DISALLOW_USERNAME_IN_URL ] = longbool,
[C.CURLOPT_DOH_URL ] = str,
[C.CURLOPT_UPLOAD_BUFFERSIZE ] = long,
[C.CURLOPT_UPKEEP_INTERVAL_MS ] = long,
[C.CURLOPT_CURLU ] = ctype'CURLU*',
[C.CURLOPT_TRAILERFUNCTION ] = cb'curl_trailer_callback',
[C.CURLOPT_TRAILERDATA ] = voidp,
[C.CURLOPT_HTTP09_ALLOWED ] = longbool,
[C.CURLOPT_ALTSVC_CTRL ] = flags'CURLALTSVC_',
[C.CURLOPT_ALTSVC ] = str,
[C.CURLOPT_MAXAGE_CONN ] = long,
[C.CURLOPT_SASL_AUTHZID ] = str,
}
easy._setopt = C.curl_easy_setopt
@@ -936,12 +989,12 @@ function easy:mime() return assert(ptr(C.curl_mime_init(self))) end
function mime:free() C.curl_mime_free(self) end
function mime:part() return assert(ptr(C.curl_mime_addpart(self))) end
function mimepart:name (v) check(C.curl_mime_name(self, v)) end
function mimepart:filename (v) check(C.curl_mime_filename(self, v)) end
function mimepart:mime_type (v) check(C.curl_mime_type(self, v)) end
function mimepart:encoder (v) check(C.curl_mime_encoder(self, v)) end
function mimepart:data (s, sz) check(C.curl_mime_data(self, s, sz or #s)) end
function mimepart:file (v) check(C.curl_mime_filedata(self, v)) end
function mimepart:name (v) check(C.curl_mime_name(self, v)) end
function mimepart:filename (v) check(C.curl_mime_filename(self, v)) end
function mimepart:type (v) check(C.curl_mime_type(self, v)) end
function mimepart:encoder (v) check(C.curl_mime_encoder(self, v)) end
function mimepart:data (s, sz) check(C.curl_mime_data(self, s, sz or #s)) end
function mimepart:file (v) check(C.curl_mime_filedata(self, v)) end
function mimepart:data_cb(sz, read, seek, free, arg)
check(C.curl_mime_data_cb(self, v, read, seek, free, arg))
end
@@ -951,10 +1004,9 @@ function mimepart:subparts(mimes)
check(C.curl_mime_subparts(self, p))
end
function mimepart:headers(headers)
local sl0 = ffi.new'struct curl_slist'
local sl = sl0
local sl
for i = 1, #headers do
sl0 = C.curl_slist_append(sl0, headers[i])
sl = C.curl_slist_append(sl, headers[i])
end
check(C.curl_mime_headers(self, sl0, true))
end
+105 -3
View File
@@ -89,7 +89,7 @@ __multipart forms__
`mimepart:filename(filename)` [set mime part's filename][curl_mime_filename]
`mimepart:mime_type(mimetype)` [set mime part's content type][curl_mime_type]
`mimepart:type(mimetype)` [set mime part's content type][curl_mime_type]
`mimepart:encoder(encoder)` [set mime part's transfer encoding][curl_mime_encoder]
@@ -220,6 +220,7 @@ deterministic, which is important since their number is hard-limited.
----------------------------- --------------------------------------------------------------------
__Main options__
`url` [URL to work on.][curlopt_url]
`curlu` [set URL with CURLU object][curlopt_curlu]
`protocols` [Allowed protocols.][curlopt_protocols]
`redir_protocols` [Protocols to allow redirects to.][curlopt_redir_protocols]
`default_protocol` [Default protocol.][curlopt_default_protocol]
@@ -231,7 +232,7 @@ __Main options__
`upload` [Enable data upload.][curlopt_upload]
`infilesize` [Size of file to send.][curlopt_infilesize_large]
`timecondition` [Make a time-conditional request.][curlopt_timecondition]
`timevalue` [Timestamp for conditional request.][curlopt_timevalue]
`timevalue` [Timestamp for conditional request.][curlopt_timevalue_large]
__Progress Tracking__
`noprogress` [Shut off the progress meter.][curlopt_noprogress]
`progressfunction` [OBSOLETE callback for progress meter.][curlopt_progressfunction]
@@ -251,7 +252,29 @@ __Proxies__
`httpproxytunnel` [Tunnel through the HTTP proxy.][curlopt_httpproxytunnel]
`socks5_gssapi_service` [Socks5 GSSAPI service name.][curlopt_socks5_gssapi_service]
`socks5_gssapi_nec` [Socks5 GSSAPI NEC mode.][curlopt_socks5_gssapi_nec]
`socks5_auth` [set allowed methods for SOCKS5 proxy authentication][curlopt_socks5_auth]
`proxy_service_name` [Proxy service name.][curlopt_proxy_service_name]
`proxy_cainfo` [path to proxy Certificate Authority (CA) bundle][curlopt_proxy_cainfo]
`proxy_capath` [directory holding proxy CA certificates][curlopt_proxy_capath]
`proxy_ssl_verifypeer` [verify the proxy's SSL certificate][curlopt_proxy_ssl_verifypeer]
`proxy_ssl_verifyhost` [verify the proxy certificate's name against host][curlopt_proxy_ssl_verifyhost]
`proxy_sslversion` [set preferred proxy TLS/SSL version][curlopt_proxy_sslversion]
`proxy_tlsauth_username` [user name to use for proxy TLS authentication][curlopt_proxy_tlsauth_username]
`proxy_tlsauth_password` [password to use for proxy TLS authentication][curlopt_proxy_tlsauth_password]
`proxy_tlsauth_type` [set proxy TLS authentication methods][curlopt_proxy_tlsauth_type]
`proxy_sslcert` [set SSL proxy client certificate][curlopt_proxy_sslcert]
`proxy_sslcerttype` [specify type of the proxy client SSL certificate][curlopt_proxy_sslcerttype]
`proxy_sslkey` [specify private keyfile for TLS and SSL proxy client cert][curlopt_proxy_sslkey]
`proxy_sslkeytype` [set type of the proxy private key file][curlopt_proxy_sslkeytype]
`proxy_keypasswd` [set passphrase to proxy private key][curlopt_proxy_keypasswd]
`proxy_ssl_cipher_list` [specify ciphers to use for proxy TLS][curlopt_proxy_ssl_cipher_list]
`proxy_crlfile` [specify a proxy Certificate Revocation List file][curlopt_proxy_crlfile]
`proxy_ssl_options` [set proxy SSL behavior options][curlopt_proxy_ssl_options]
`pre_proxy` [set pre-proxy to use][curlopt_pre_proxy]
`proxy_pinnedpublickey` [set pinned public key for https proxy][curlopt_proxy_pinnedpublickey]
`suppress_connect_headers` [Suppress proxy CONNECT response headers from user callbacks][curlopt_suppress_connect_headers]
`haproxyprotocol` [send HAProxy PROXY protocol v1 header][curlopt_haproxyprotocol]
`proxy_tls13_ciphers` [Ciphers suites for proxy TLS 1.3][curlopt_proxy_tls13_ciphers]
__I/O Callbacks__
`writefunction` [Callback for writing data.][curlopt_writefunction]
`writedata` [Data pointer to pass to the write callback.][curlopt_writedata]
@@ -281,6 +304,7 @@ __Authentication__
`proxyauth` [HTTP proxy authentication methods.][curlopt_proxyauth]
`sasl_ir` [Enable SASL initial response.][curlopt_sasl_ir]
`xoauth2_bearer` [OAuth2 bearer token.][curlopt_xoauth2_bearer]
`sasl_authzid` [Authorisation identity (identity to act as)][curlopt_sasl_authzid]
__HTTP Protocol__
`autoreferer` [Automatically set Referer: header.][curlopt_autoreferer]
`accept_encoding` [Accept-Encoding and automatic decompressing data.][curlopt_accept_encoding]
@@ -313,6 +337,17 @@ __HTTP Protocol__
`http_transfer_decoding` [Disable Transfer decoding.][curlopt_http_transfer_decoding]
`expect_100_timeout_ms` [100-continue timeout in ms.][curlopt_expect_100_timeout_ms]
`pipewait` [Wait on connection to pipeline on it.][curlopt_pipewait]
`keep_sending_on_error` [Keep sending on early HTTP response >= 300][curlopt_keep_sending_on_error]
`request_target` [Specify an alternative target for this request][curlopt_request_target]
`mimepost` [Set post/send data from mime structure][curlopt_mimepost]
`disallow_username_in_url` [Disallow specifying username in the url][curlopt_disallow_username_in_url]
`trailerfunction` [Set callback for sending trailing headers][curlopt_trailerfunction]
`trailerdata` [Custom pointer passed to the trailing headers callback][curlopt_trailerdata]
`http09_allowed` [Allow HTTP/0.9 response][curlopt_http09_allowed]
__HTTP/2 Protocol__
`stream_weight` [Set numerical stream weight][curlopt_stream_weight]
`stream_depends` [Set stream this transfer depends on][curlopt_stream_depends]
`stream_depends_e` [Set stream this transfer depends on exclusively][curlopt_stream_depends_e]
__Connection__
`interface` [Bind connection locally to this.][curlopt_interface]
`localport` [Bind connection locally to this port.][curlopt_localport]
@@ -321,8 +356,10 @@ __Connection__
`tcp_keepalive` [Enable TCP keep-alive.][curlopt_tcp_keepalive]
`tcp_keepidle` [Idle time before sending keep-alive.][curlopt_tcp_keepidle]
`tcp_keepintvl` [Interval between keep-alive probes.][curlopt_tcp_keepintvl]
`tcp_fastopen` [enable TCP Fast Open][curlopt_tcp_fastopen]
`address_scope` [IPv6 scope for local addresses.][curlopt_address_scope]
`unix_socket_path` [Path to a Unix domain socket.][curlopt_unix_socket_path]
`abstract_unix_socket` [Set an abstract Unix domain socket][curlopt_abstract_unix_socket]
`dns_interface` [Bind name resolves to an interface.][curlopt_dns_interface]
`dns_cache_timeout` [Timeout for DNS cache.][curlopt_dns_cache_timeout]
`dns_local_ip4` [Bind name resolves to an IP4 address.][curlopt_dns_local_ip4]
@@ -348,6 +385,14 @@ __Connection__
`closesocketdata` [][curlopt_closesocketdata]
`sockoptfunction` [Callback for sockopt operations.][curlopt_sockoptfunction]
`sockoptdata` [Data pointer to pass to the sockopt callback.][curlopt_sockoptdata]
`connect_to` [Connect to a specific host and port instead of the URL's host and port][curlopt_connect_to]
`happy_eyeballs_timeout_ms` [Head start for ipv6 for happy eyeballs][curlopt_happy_eyeballs_timeout_ms]
`resolver_start_function` [Set callback to be called before a new resolve request is started][curlopt_resolver_start_function]
`resolver_start_data` [Custom pointer passed to the resolver start callback][curlopt_resolver_start_data]
`dns_shuffle_addresses` [Shuffle addresses when a hostname returns more than one][curlopt_dns_shuffle_addresses]
`doh_url` [Provide the DNS-over-HTTPS URL][curlopt_doh_url]
`upkeep_interval_ms` [Connection upkeep interval][curlopt_upkeep_interval_ms]
`maxage_conn` [Max idle time allowed for reusing a connection][curlopt_maxage_conn]
__SSH Protocol__
`ssh_auth_types` [SSH authentication types.][curlopt_ssh_auth_types]
`ssh_public_keyfile` [File name of public key.][curlopt_ssh_public_keyfile]
@@ -356,12 +401,14 @@ __SSH Protocol__
`ssh_keyfunction` [Callback for known hosts handling.][curlopt_ssh_keyfunction]
`ssh_keydata` [Custom pointer to pass to ssh key callback.][curlopt_ssh_keydata]
`ssh_host_public_key_md5` [MD5 of host's public key.][curlopt_ssh_host_public_key_md5]
`ssh_compression` [enables compression / decompression of SSH traffic][curlopt_ssh_compression]
__SMTP Protocol__
`mail_from` [Address of the sender.][curlopt_mail_from]
`mail_rcpt` [Address of the recipients.][curlopt_mail_rcpt]
`mail_auth` [Authentication address.][curlopt_mail_auth]
__TFTP Protocol__
`tftp_blksize` [TFTP block size.][curlopt_tftp_blksize]
`tftp_no_options` [Do not send TFTP options requests.][curlopt_tftp_no_options]
__SSL__
`use_ssl` [Use TLS/SSL.][curlopt_use_ssl]
`sslcert` [Client cert.][curlopt_sslcert]
@@ -393,6 +440,9 @@ __SSL__
`random_file` [Provide source for entropy random data.][curlopt_random_file]
`egdsocket` [Identify EGD socket for entropy.][curlopt_egdsocket]
`gssapi_delegation` [Disable GSS-API delegation. ][curlopt_gssapi_delegation]
`tls13_ciphers` [Specify ciphers suites to use for TLS 1.3][curlopt_tls13_ciphers]
`altsvc_ctrl` [Control alt-svc behavior][curlopt_altsvc_ctrl]
`altsvc` [Set alt-svc cache file name][curlopt_altsvc]
__FTP Protocol__
`ftpport` [Use active FTP.][curlopt_ftpport]
`quote` [Commands to run before transfer.][curlopt_quote]
@@ -448,6 +498,7 @@ __Misc. Options__
`maxconnects` [Maximum number of connections in the connection pool.][curlopt_maxconnects]
`headerfunction` [Callback for writing received headers.][curlopt_headerfunction]
`headerdata` [Data pointer to pass to the header callback.][curlopt_headerdata]
`upload_buffersize` [Set preferred upload buffer size][curlopt_upload_buffersize]
__Debugging__
`debugfunction` [Callback for debug information.][curlopt_debugfunction]
`debugdata` [Data pointer to pass to the debug callback.][curlopt_debugdata]
@@ -495,6 +546,24 @@ __Debugging__
[curlopt_proxypassword]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXYPASSWORD.html
[curlopt_proxyheader]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXYHEADER.html
[curlopt_noproxy]: http://curl.haxx.se/libcurl/c/CURLOPT_NOPROXY.html
[curlopt_proxy_cainfo]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAINFO.html
[curlopt_proxy_capath]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAPATH.html
[curlopt_proxy_ssl_verifypeer]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYPEER.html
[curlopt_proxy_ssl_verifyhost]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYHOST.html
[curlopt_proxy_sslversion]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLVERSION.html
[curlopt_proxy_tlsauth_username]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_USERNAME.html
[curlopt_proxy_tlsauth_password]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_PASSWORD.html
[curlopt_proxy_tlsauth_type]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_TYPE.html
[curlopt_proxy_sslcert]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLCERT.html
[curlopt_proxy_sslcerttype]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLCERTTYPE.html
[curlopt_proxy_sslkey]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEY.html
[curlopt_proxy_sslkeytype]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEYTYPE.html
[curlopt_proxy_keypasswd]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_KEYPASSWD.html
[curlopt_proxy_ssl_cipher_list]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_CIPHER_LIST.html
[curlopt_proxy_crlfile]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CRLFILE.html
[curlopt_proxy_ssl_options]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_OPTIONS.html
[curlopt_pre_proxy]: http://curl.haxx.se/libcurl/c/CURLOPT_PRE_PROXY.html
[curlopt_proxy_pinnedpublickey]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_PINNEDPUBLICKEY.html
[curlopt_writefunction]: http://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html
[curlopt_writedata]: http://curl.haxx.se/libcurl/c/CURLOPT_WRITEDATA.html
[curlopt_readfunction]: http://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html
@@ -511,7 +580,7 @@ __Debugging__
[curlopt_crlf]: http://curl.haxx.se/libcurl/c/CURLOPT_CRLF.html
[curlopt_quote]: http://curl.haxx.se/libcurl/c/CURLOPT_QUOTE.html
[curlopt_timecondition]: http://curl.haxx.se/libcurl/c/CURLOPT_TIMECONDITION.html
[curlopt_timevalue]: http://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE.html
[curlopt_timevalue_large]: http://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE_LARGE.html
[curlopt_customrequest]: http://curl.haxx.se/libcurl/c/CURLOPT_CUSTOMREQUEST.html
[curlopt_postquote]: http://curl.haxx.se/libcurl/c/CURLOPT_POSTQUOTE.html
[curlopt_upload]: http://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD.html
@@ -674,6 +743,39 @@ __Debugging__
[curlopt_xferinfofunction]: http://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html
[curlopt_xferinfodata]: http://curl.haxx.se/libcurl/c/CURLOPT_XFERINFODATA.html
[curlopt_stream_weight]: http://curl.haxx.se/libcurl/c/CURLOPT_STREAM_WEIGHT.html
[curlopt_stream_depends]: http://curl.haxx.se/libcurl/c/CURLOPT_STREAM_DEPENDS.html
[curlopt_stream_depends_e]: http://curl.haxx.se/libcurl/c/CURLOPT_STREAM_DEPENDS_E.html
[curlopt_tftp_no_options]: http://curl.haxx.se/libcurl/c/CURLOPT_TFTP_NO_OPTIONS.html
[curlopt_connect_to]: http://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_TO.html
[curlopt_tcp_fastopen]: http://curl.haxx.se/libcurl/c/CURLOPT_TCP_FASTOPEN.html
[curlopt_keep_sending_on_error]: http://curl.haxx.se/libcurl/c/CURLOPT_KEEP_SENDING_ON_ERROR.html
[curlopt_abstract_unix_socket]: http://curl.haxx.se/libcurl/c/CURLOPT_ABSTRACT_UNIX_SOCKET.html
[curlopt_suppress_connect_headers]: http://curl.haxx.se/libcurl/c/CURLOPT_SUPPRESS_CONNECT_HEADERS.html
[curlopt_request_target]: http://curl.haxx.se/libcurl/c/CURLOPT_REQUEST_TARGET.html
[curlopt_socks5_auth]: http://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_AUTH.html
[curlopt_ssh_compression]: http://curl.haxx.se/libcurl/c/CURLOPT_SSH_COMPRESSION.html
[curlopt_mimepost]: http://curl.haxx.se/libcurl/c/CURLOPT_MIMEPOST.html
[curlopt_happy_eyeballs_timeout_ms]: http://curl.haxx.se/libcurl/c/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.html
[curlopt_resolver_start_function]: http://curl.haxx.se/libcurl/c/CURLOPT_RESOLVER_START_FUNCTION.html
[curlopt_resolver_start_data]: http://curl.haxx.se/libcurl/c/CURLOPT_RESOLVER_START_DATA.html
[curlopt_haproxyprotocol]: http://curl.haxx.se/libcurl/c/CURLOPT_HAPROXYPROTOCOL.html
[curlopt_dns_shuffle_addresses]: http://curl.haxx.se/libcurl/c/CURLOPT_DNS_SHUFFLE_ADDRESSES.html
[curlopt_tls13_ciphers]: http://curl.haxx.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html
[curlopt_proxy_tls13_ciphers]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLS13_CIPHERS.html
[curlopt_disallow_username_in_url]: http://curl.haxx.se/libcurl/c/CURLOPT_DISALLOW_USERNAME_IN_URL.html
[curlopt_doh_url]: http://curl.haxx.se/libcurl/c/CURLOPT_DOH_URL.html
[curlopt_upload_buffersize]: http://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD_BUFFERSIZE.html
[curlopt_upkeep_interval_ms]: http://curl.haxx.se/libcurl/c/CURLOPT_UPKEEP_INTERVAL_MS.html
[curlopt_curlu]: http://curl.haxx.se/libcurl/c/CURLOPT_CURLU.html
[curlopt_trailerfunction]: http://curl.haxx.se/libcurl/c/CURLOPT_TRAILERFUNCTION.html
[curlopt_trailerdata]: http://curl.haxx.se/libcurl/c/CURLOPT_TRAILERDATA.html
[curlopt_http09_allowed]: http://curl.haxx.se/libcurl/c/CURLOPT_HTTP09_ALLOWED.html
[curlopt_altsvc_ctrl]: http://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC_CTRL.html
[curlopt_altsvc]: http://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC.html
[curlopt_maxage_conn]: http://curl.haxx.se/libcurl/c/CURLOPT_MAXAGE_CONN.html
[curlopt_sasl_authzid]: http://curl.haxx.se/libcurl/c/CURLOPT_SASL_AUTHZID.html
## Multi interface
### `curl.multi([{etr1,..., opt=val}]) -> mtr`
+279 -258
View File
@@ -24,235 +24,285 @@ typedef long long curl_off_t;
typedef long time_t;
typedef enum {
CURLOPT_WRITEDATA = 10000 + 1,
CURLOPT_URL = 10000 + 2,
CURLOPT_PORT = 0 + 3,
CURLOPT_PROXY = 10000 + 4,
CURLOPT_USERPWD = 10000 + 5,
CURLOPT_PROXYUSERPWD = 10000 + 6,
CURLOPT_RANGE = 10000 + 7,
CURLOPT_READDATA = 10000 + 9,
CURLOPT_ERRORBUFFER = 10000 + 10,
CURLOPT_WRITEFUNCTION = 20000 + 11,
CURLOPT_READFUNCTION = 20000 + 12,
CURLOPT_TIMEOUT = 0 + 13,
// CURLOPT_INFILESIZE = 0 + 14,
CURLOPT_POSTFIELDS = 10000 + 15,
CURLOPT_REFERER = 10000 + 16,
CURLOPT_FTPPORT = 10000 + 17,
CURLOPT_USERAGENT = 10000 + 18,
CURLOPT_LOW_SPEED_LIMIT = 0 + 19,
CURLOPT_LOW_SPEED_TIME = 0 + 20,
// CURLOPT_RESUME_FROM = 0 + 21,
CURLOPT_COOKIE = 10000 + 22,
CURLOPT_HTTPHEADER = 10000 + 23,
CURLOPT_HTTPPOST = 10000 + 24,
CURLOPT_SSLCERT = 10000 + 25,
CURLOPT_KEYPASSWD = 10000 + 26,
CURLOPT_CRLF = 0 + 27,
CURLOPT_QUOTE = 10000 + 28,
CURLOPT_HEADERDATA = 10000 + 29,
CURLOPT_COOKIEFILE = 10000 + 31,
CURLOPT_SSLVERSION = 0 + 32,
CURLOPT_TIMECONDITION = 0 + 33,
CURLOPT_TIMEVALUE = 0 + 34,
CURLOPT_CUSTOMREQUEST = 10000 + 36,
CURLOPT_STDERR = 10000 + 37,
CURLOPT_POSTQUOTE = 10000 + 39,
CURLOPT_OBSOLETE40 = 10000 + 40,
CURLOPT_VERBOSE = 0 + 41,
CURLOPT_HEADER = 0 + 42,
CURLOPT_NOPROGRESS = 0 + 43,
CURLOPT_NOBODY = 0 + 44,
CURLOPT_FAILONERROR = 0 + 45,
CURLOPT_UPLOAD = 0 + 46,
CURLOPT_POST = 0 + 47,
CURLOPT_DIRLISTONLY = 0 + 48,
CURLOPT_APPEND = 0 + 50,
CURLOPT_NETRC = 0 + 51,
CURLOPT_FOLLOWLOCATION = 0 + 52,
CURLOPT_TRANSFERTEXT = 0 + 53,
CURLOPT_PUT = 0 + 54,
CURLOPT_PROGRESSFUNCTION = 20000 + 56,
CURLOPT_PROGRESSDATA = 10000 + 57,
CURLOPT_XFERINFODATA = CURLOPT_PROGRESSDATA,
CURLOPT_AUTOREFERER = 0 + 58,
CURLOPT_PROXYPORT = 0 + 59,
// CURLOPT_POSTFIELDSIZE = 0 + 60,
CURLOPT_HTTPPROXYTUNNEL = 0 + 61,
CURLOPT_INTERFACE = 10000 + 62,
CURLOPT_KRBLEVEL = 10000 + 63,
CURLOPT_SSL_VERIFYPEER = 0 + 64,
CURLOPT_CAINFO = 10000 + 65,
CURLOPT_MAXREDIRS = 0 + 68,
CURLOPT_FILETIME = 0 + 69,
CURLOPT_TELNETOPTIONS = 10000 + 70,
CURLOPT_MAXCONNECTS = 0 + 71,
CURLOPT_OBSOLETE72 = 0 + 72,
CURLOPT_FRESH_CONNECT = 0 + 74,
CURLOPT_FORBID_REUSE = 0 + 75,
CURLOPT_RANDOM_FILE = 10000 + 76,
CURLOPT_EGDSOCKET = 10000 + 77,
CURLOPT_CONNECTTIMEOUT = 0 + 78,
CURLOPT_HEADERFUNCTION = 20000 + 79,
CURLOPT_HTTPGET = 0 + 80,
CURLOPT_SSL_VERIFYHOST = 0 + 81,
CURLOPT_COOKIEJAR = 10000 + 82,
CURLOPT_SSL_CIPHER_LIST = 10000 + 83,
CURLOPT_HTTP_VERSION = 0 + 84,
CURLOPT_FTP_USE_EPSV = 0 + 85,
CURLOPT_SSLCERTTYPE = 10000 + 86,
CURLOPT_SSLKEY = 10000 + 87,
CURLOPT_SSLKEYTYPE = 10000 + 88,
CURLOPT_SSLENGINE = 10000 + 89,
CURLOPT_SSLENGINE_DEFAULT = 0 + 90,
CURLOPT_DNS_USE_GLOBAL_CACHE = 0 + 91,
CURLOPT_DNS_CACHE_TIMEOUT = 0 + 92,
CURLOPT_PREQUOTE = 10000 + 93,
CURLOPT_DEBUGFUNCTION = 20000 + 94,
CURLOPT_DEBUGDATA = 10000 + 95,
CURLOPT_COOKIESESSION = 0 + 96,
CURLOPT_CAPATH = 10000 + 97,
CURLOPT_BUFFERSIZE = 0 + 98,
CURLOPT_NOSIGNAL = 0 + 99,
CURLOPT_SHARE = 10000 + 100,
CURLOPT_PROXYTYPE = 0 + 101,
CURLOPT_ACCEPT_ENCODING = 10000 + 102,
CURLOPT_PRIVATE = 10000 + 103,
CURLOPT_HTTP200ALIASES = 10000 + 104,
CURLOPT_UNRESTRICTED_AUTH = 0 + 105,
CURLOPT_FTP_USE_EPRT = 0 + 106,
CURLOPT_HTTPAUTH = 0 + 107,
CURLOPT_SSL_CTX_FUNCTION = 20000 + 108,
CURLOPT_SSL_CTX_DATA = 10000 + 109,
CURLOPT_FTP_CREATE_MISSING_DIRS = 0 + 110,
CURLOPT_PROXYAUTH = 0 + 111,
CURLOPT_FTP_RESPONSE_TIMEOUT = 0 + 112,
CURLOPT_SERVER_RESPONSE_TIMEOUT = CURLOPT_FTP_RESPONSE_TIMEOUT,
CURLOPT_IPRESOLVE = 0 + 113,
// CURLOPT_MAXFILESIZE = 0 + 114,
CURLOPT_INFILESIZE = 30000 + 115, // was *_LARGE
CURLOPT_RESUME_FROM = 30000 + 116, // was *_LARGE
CURLOPT_MAXFILESIZE = 30000 + 117, // was *_LARGE
CURLOPT_NETRC_FILE = 10000 + 118,
CURLOPT_USE_SSL = 0 + 119,
CURLOPT_POSTFIELDSIZE = 30000 + 120, // was *_LARGE
CURLOPT_TCP_NODELAY = 0 + 121,
CURLOPT_FTPSSLAUTH = 0 + 129,
CURLOPT_IOCTLFUNCTION = 20000 + 130,
CURLOPT_IOCTLDATA = 10000 + 131,
CURLOPT_FTP_ACCOUNT = 10000 + 134,
CURLOPT_COOKIELIST = 10000 + 135,
CURLOPT_IGNORE_CONTENT_LENGTH = 0 + 136,
CURLOPT_FTP_SKIP_PASV_IP = 0 + 137,
CURLOPT_FTP_FILEMETHOD = 0 + 138,
CURLOPT_LOCALPORT = 0 + 139,
CURLOPT_LOCALPORTRANGE = 0 + 140,
CURLOPT_CONNECT_ONLY = 0 + 141,
CURLOPT_CONV_FROM_NETWORK_FUNCTION = 20000 + 142,
CURLOPT_CONV_TO_NETWORK_FUNCTION = 20000 + 143,
CURLOPT_CONV_FROM_UTF8_FUNCTION = 20000 + 144,
CURLOPT_MAX_SEND_SPEED = 30000 + 145, // was *_LARGE
CURLOPT_MAX_RECV_SPEED = 30000 + 146, // was *_LARGE
CURLOPT_FTP_ALTERNATIVE_TO_USER = 10000 + 147,
CURLOPT_SOCKOPTFUNCTION = 20000 + 148,
CURLOPT_SOCKOPTDATA = 10000 + 149,
CURLOPT_SSL_SESSIONID_CACHE = 0 + 150,
CURLOPT_SSH_AUTH_TYPES = 0 + 151,
CURLOPT_SSH_PUBLIC_KEYFILE = 10000 + 152,
CURLOPT_SSH_PRIVATE_KEYFILE = 10000 + 153,
CURLOPT_FTP_SSL_CCC = 0 + 154,
CURLOPT_TIMEOUT_MS = 0 + 155,
CURLOPT_CONNECTTIMEOUT_MS = 0 + 156,
CURLOPT_HTTP_TRANSFER_DECODING = 0 + 157,
CURLOPT_HTTP_CONTENT_DECODING = 0 + 158,
CURLOPT_NEW_FILE_PERMS = 0 + 159,
CURLOPT_NEW_DIRECTORY_PERMS = 0 + 160,
CURLOPT_POSTREDIR = 0 + 161,
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 = 10000 + 162,
CURLOPT_OPENSOCKETFUNCTION = 20000 + 163,
CURLOPT_OPENSOCKETDATA = 10000 + 164,
CURLOPT_COPYPOSTFIELDS = 10000 + 165,
CURLOPT_PROXY_TRANSFER_MODE = 0 + 166,
CURLOPT_SEEKFUNCTION = 20000 + 167,
CURLOPT_SEEKDATA = 10000 + 168,
CURLOPT_CRLFILE = 10000 + 169,
CURLOPT_ISSUERCERT = 10000 + 170,
CURLOPT_ADDRESS_SCOPE = 0 + 171,
CURLOPT_CERTINFO = 0 + 172,
CURLOPT_USERNAME = 10000 + 173,
CURLOPT_PASSWORD = 10000 + 174,
CURLOPT_PROXYUSERNAME = 10000 + 175,
CURLOPT_PROXYPASSWORD = 10000 + 176,
CURLOPT_NOPROXY = 10000 + 177,
CURLOPT_TFTP_BLKSIZE = 0 + 178,
CURLOPT_SOCKS5_GSSAPI_SERVICE = 10000 + 179,
CURLOPT_SOCKS5_GSSAPI_NEC = 0 + 180,
CURLOPT_PROTOCOLS = 0 + 181,
CURLOPT_REDIR_PROTOCOLS = 0 + 182,
CURLOPT_SSH_KNOWNHOSTS = 10000 + 183,
CURLOPT_SSH_KEYFUNCTION = 20000 + 184,
CURLOPT_SSH_KEYDATA = 10000 + 185,
CURLOPT_MAIL_FROM = 10000 + 186,
CURLOPT_MAIL_RCPT = 10000 + 187,
CURLOPT_FTP_USE_PRET = 0 + 188,
CURLOPT_RTSP_REQUEST = 0 + 189,
CURLOPT_RTSP_SESSION_ID = 10000 + 190,
CURLOPT_RTSP_STREAM_URI = 10000 + 191,
CURLOPT_RTSP_TRANSPORT = 10000 + 192,
CURLOPT_RTSP_CLIENT_CSEQ = 0 + 193,
CURLOPT_RTSP_SERVER_CSEQ = 0 + 194,
CURLOPT_INTERLEAVEDATA = 10000 + 195,
CURLOPT_INTERLEAVEFUNCTION = 20000 + 196,
CURLOPT_WILDCARDMATCH = 0 + 197,
CURLOPT_CHUNK_BGN_FUNCTION = 20000 + 198,
CURLOPT_CHUNK_END_FUNCTION = 20000 + 199,
CURLOPT_FNMATCH_FUNCTION = 20000 + 200,
CURLOPT_CHUNK_DATA = 10000 + 201,
CURLOPT_FNMATCH_DATA = 10000 + 202,
CURLOPT_RESOLVE = 10000 + 203,
CURLOPT_TLSAUTH_USERNAME = 10000 + 204,
CURLOPT_TLSAUTH_PASSWORD = 10000 + 205,
CURLOPT_TLSAUTH_TYPE = 10000 + 206,
CURLOPT_TRANSFER_ENCODING = 0 + 207,
CURLOPT_CLOSESOCKETFUNCTION = 20000 + 208,
CURLOPT_CLOSESOCKETDATA = 10000 + 209,
CURLOPT_GSSAPI_DELEGATION = 0 + 210,
CURLOPT_DNS_SERVERS = 10000 + 211,
CURLOPT_ACCEPTTIMEOUT_MS = 0 + 212,
CURLOPT_TCP_KEEPALIVE = 0 + 213,
CURLOPT_TCP_KEEPIDLE = 0 + 214,
CURLOPT_TCP_KEEPINTVL = 0 + 215,
CURLOPT_SSL_OPTIONS = 0 + 216,
CURLOPT_MAIL_AUTH = 10000 + 217,
CURLOPT_SASL_IR = 0 + 218,
CURLOPT_XFERINFOFUNCTION = 20000 + 219,
CURLOPT_XOAUTH2_BEARER = 10000 + 220,
CURLOPT_DNS_INTERFACE = 10000 + 221,
CURLOPT_DNS_LOCAL_IP4 = 10000 + 222,
CURLOPT_DNS_LOCAL_IP6 = 10000 + 223,
CURLOPT_LOGIN_OPTIONS = 10000 + 224,
CURLOPT_SSL_ENABLE_NPN = 0 + 225,
CURLOPT_SSL_ENABLE_ALPN = 0 + 226,
CURLOPT_EXPECT_100_TIMEOUT_MS = 0 + 227,
CURLOPT_PROXYHEADER = 10000 + 228,
CURLOPT_HEADEROPT = 0 + 229,
CURLOPT_PINNEDPUBLICKEY = 10000 + 230,
CURLOPT_UNIX_SOCKET_PATH = 10000 + 231,
CURLOPT_SSL_VERIFYSTATUS = 0 + 232,
CURLOPT_SSL_FALSESTART = 0 + 233,
CURLOPT_PATH_AS_IS = 0 + 234,
CURLOPT_PROXY_SERVICE_NAME = 10000 + 235,
CURLOPT_SERVICE_NAME = 10000 + 236,
CURLOPT_PIPEWAIT = 0 + 237,
CURLOPT_DEFAULT_PROTOCOL = 10000 + 238,
CURLOPT_LASTENTRY,
CURLOPT_FILE = CURLOPT_WRITEDATA,
CURLOPT_INFILE = CURLOPT_READDATA,
CURLOPT_WRITEHEADER = CURLOPT_HEADERDATA,
CURLOPT_WRITEINFO = CURLOPT_OBSOLETE40,
CURLOPT_CLOSEPOLICY = CURLOPT_OBSOLETE72,
CURLOPT_ENCODING = CURLOPT_ACCEPT_ENCODING,
CURLOPT_WRITEDATA = 10000 + 1,
CURLOPT_URL = 10000 + 2,
CURLOPT_PORT = 0 + 3,
CURLOPT_PROXY = 10000 + 4,
CURLOPT_USERPWD = 10000 + 5,
CURLOPT_PROXYUSERPWD = 10000 + 6,
CURLOPT_RANGE = 10000 + 7,
CURLOPT_READDATA = 10000 + 9,
CURLOPT_ERRORBUFFER = 10000 + 10,
CURLOPT_WRITEFUNCTION = 20000 + 11,
CURLOPT_READFUNCTION = 20000 + 12,
CURLOPT_TIMEOUT = 0 + 13,
// CURLOPT_INFILESIZE = 0 + 14,
CURLOPT_POSTFIELDS = 10000 + 15,
CURLOPT_REFERER = 10000 + 16,
CURLOPT_FTPPORT = 10000 + 17,
CURLOPT_USERAGENT = 10000 + 18,
CURLOPT_LOW_SPEED_LIMIT = 0 + 19,
CURLOPT_LOW_SPEED_TIME = 0 + 20,
// CURLOPT_RESUME_FROM = 0 + 21,
CURLOPT_COOKIE = 10000 + 22,
CURLOPT_HTTPHEADER = 10000 + 23,
CURLOPT_HTTPPOST = 10000 + 24,
CURLOPT_SSLCERT = 10000 + 25,
CURLOPT_KEYPASSWD = 10000 + 26,
CURLOPT_CRLF = 0 + 27,
CURLOPT_QUOTE = 10000 + 28,
CURLOPT_HEADERDATA = 10000 + 29,
CURLOPT_COOKIEFILE = 10000 + 31,
CURLOPT_SSLVERSION = 0 + 32,
CURLOPT_TIMECONDITION = 0 + 33,
// CURLOPT_TIMEVALUE = 0 + 34,
CURLOPT_CUSTOMREQUEST = 10000 + 36,
CURLOPT_STDERR = 10000 + 37,
CURLOPT_POSTQUOTE = 10000 + 39,
// CURLOPT_OBSOLETE40 = 10000 + 40,
CURLOPT_VERBOSE = 0 + 41,
CURLOPT_HEADER = 0 + 42,
CURLOPT_NOPROGRESS = 0 + 43,
CURLOPT_NOBODY = 0 + 44,
CURLOPT_FAILONERROR = 0 + 45,
CURLOPT_UPLOAD = 0 + 46,
CURLOPT_POST = 0 + 47,
CURLOPT_DIRLISTONLY = 0 + 48,
CURLOPT_APPEND = 0 + 50,
CURLOPT_NETRC = 0 + 51,
CURLOPT_FOLLOWLOCATION = 0 + 52,
CURLOPT_TRANSFERTEXT = 0 + 53,
CURLOPT_PUT = 0 + 54,
CURLOPT_PROGRESSFUNCTION = 20000 + 56,
CURLOPT_PROGRESSDATA = 10000 + 57,
CURLOPT_XFERINFODATA = CURLOPT_PROGRESSDATA,
CURLOPT_AUTOREFERER = 0 + 58,
CURLOPT_PROXYPORT = 0 + 59,
// CURLOPT_POSTFIELDSIZE = 0 + 60,
CURLOPT_HTTPPROXYTUNNEL = 0 + 61,
CURLOPT_INTERFACE = 10000 + 62,
CURLOPT_KRBLEVEL = 10000 + 63,
CURLOPT_SSL_VERIFYPEER = 0 + 64,
CURLOPT_CAINFO = 10000 + 65,
CURLOPT_MAXREDIRS = 0 + 68,
CURLOPT_FILETIME = 0 + 69,
CURLOPT_TELNETOPTIONS = 10000 + 70,
CURLOPT_MAXCONNECTS = 0 + 71,
// CURLOPT_OBSOLETE72 = 0 + 72,
CURLOPT_FRESH_CONNECT = 0 + 74,
CURLOPT_FORBID_REUSE = 0 + 75,
CURLOPT_RANDOM_FILE = 10000 + 76,
CURLOPT_EGDSOCKET = 10000 + 77,
CURLOPT_CONNECTTIMEOUT = 0 + 78,
CURLOPT_HEADERFUNCTION = 20000 + 79,
CURLOPT_HTTPGET = 0 + 80,
CURLOPT_SSL_VERIFYHOST = 0 + 81,
CURLOPT_COOKIEJAR = 10000 + 82,
CURLOPT_SSL_CIPHER_LIST = 10000 + 83,
CURLOPT_HTTP_VERSION = 0 + 84,
CURLOPT_FTP_USE_EPSV = 0 + 85,
CURLOPT_SSLCERTTYPE = 10000 + 86,
CURLOPT_SSLKEY = 10000 + 87,
CURLOPT_SSLKEYTYPE = 10000 + 88,
CURLOPT_SSLENGINE = 10000 + 89,
CURLOPT_SSLENGINE_DEFAULT = 0 + 90,
CURLOPT_DNS_USE_GLOBAL_CACHE = 0 + 91,
CURLOPT_DNS_CACHE_TIMEOUT = 0 + 92,
CURLOPT_PREQUOTE = 10000 + 93,
CURLOPT_DEBUGFUNCTION = 20000 + 94,
CURLOPT_DEBUGDATA = 10000 + 95,
CURLOPT_COOKIESESSION = 0 + 96,
CURLOPT_CAPATH = 10000 + 97,
CURLOPT_BUFFERSIZE = 0 + 98,
CURLOPT_NOSIGNAL = 0 + 99,
CURLOPT_SHARE = 10000 + 100,
CURLOPT_PROXYTYPE = 0 + 101,
CURLOPT_ACCEPT_ENCODING = 10000 + 102,
CURLOPT_PRIVATE = 10000 + 103,
CURLOPT_HTTP200ALIASES = 10000 + 104,
CURLOPT_UNRESTRICTED_AUTH = 0 + 105,
CURLOPT_FTP_USE_EPRT = 0 + 106,
CURLOPT_HTTPAUTH = 0 + 107,
CURLOPT_SSL_CTX_FUNCTION = 20000 + 108,
CURLOPT_SSL_CTX_DATA = 10000 + 109,
CURLOPT_FTP_CREATE_MISSING_DIRS = 0 + 110,
CURLOPT_PROXYAUTH = 0 + 111,
CURLOPT_FTP_RESPONSE_TIMEOUT = 0 + 112,
CURLOPT_SERVER_RESPONSE_TIMEOUT = CURLOPT_FTP_RESPONSE_TIMEOUT,
CURLOPT_IPRESOLVE = 0 + 113,
// CURLOPT_MAXFILESIZE = 0 + 114,
CURLOPT_INFILESIZE = 30000 + 115,
CURLOPT_RESUME_FROM = 30000 + 116,
CURLOPT_MAXFILESIZE = 30000 + 117,
CURLOPT_NETRC_FILE = 10000 + 118,
CURLOPT_USE_SSL = 0 + 119,
CURLOPT_POSTFIELDSIZE = 30000 + 120,
CURLOPT_TCP_NODELAY = 0 + 121,
CURLOPT_FTPSSLAUTH = 0 + 129,
CURLOPT_IOCTLFUNCTION = 20000 + 130,
CURLOPT_IOCTLDATA = 10000 + 131,
CURLOPT_FTP_ACCOUNT = 10000 + 134,
CURLOPT_COOKIELIST = 10000 + 135,
CURLOPT_IGNORE_CONTENT_LENGTH = 0 + 136,
CURLOPT_FTP_SKIP_PASV_IP = 0 + 137,
CURLOPT_FTP_FILEMETHOD = 0 + 138,
CURLOPT_LOCALPORT = 0 + 139,
CURLOPT_LOCALPORTRANGE = 0 + 140,
CURLOPT_CONNECT_ONLY = 0 + 141,
CURLOPT_CONV_FROM_NETWORK_FUNCTION = 20000 + 142,
CURLOPT_CONV_TO_NETWORK_FUNCTION = 20000 + 143,
CURLOPT_CONV_FROM_UTF8_FUNCTION = 20000 + 144,
CURLOPT_MAX_SEND_SPEED = 30000 + 145,
CURLOPT_MAX_RECV_SPEED = 30000 + 146,
CURLOPT_FTP_ALTERNATIVE_TO_USER = 10000 + 147,
CURLOPT_SOCKOPTFUNCTION = 20000 + 148,
CURLOPT_SOCKOPTDATA = 10000 + 149,
CURLOPT_SSL_SESSIONID_CACHE = 0 + 150,
CURLOPT_SSH_AUTH_TYPES = 0 + 151,
CURLOPT_SSH_PUBLIC_KEYFILE = 10000 + 152,
CURLOPT_SSH_PRIVATE_KEYFILE = 10000 + 153,
CURLOPT_FTP_SSL_CCC = 0 + 154,
CURLOPT_TIMEOUT_MS = 0 + 155,
CURLOPT_CONNECTTIMEOUT_MS = 0 + 156,
CURLOPT_HTTP_TRANSFER_DECODING = 0 + 157,
CURLOPT_HTTP_CONTENT_DECODING = 0 + 158,
CURLOPT_NEW_FILE_PERMS = 0 + 159,
CURLOPT_NEW_DIRECTORY_PERMS = 0 + 160,
CURLOPT_POSTREDIR = 0 + 161,
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 = 10000 + 162,
CURLOPT_OPENSOCKETFUNCTION = 20000 + 163,
CURLOPT_OPENSOCKETDATA = 10000 + 164,
CURLOPT_COPYPOSTFIELDS = 10000 + 165,
CURLOPT_PROXY_TRANSFER_MODE = 0 + 166,
CURLOPT_SEEKFUNCTION = 20000 + 167,
CURLOPT_SEEKDATA = 10000 + 168,
CURLOPT_CRLFILE = 10000 + 169,
CURLOPT_ISSUERCERT = 10000 + 170,
CURLOPT_ADDRESS_SCOPE = 0 + 171,
CURLOPT_CERTINFO = 0 + 172,
CURLOPT_USERNAME = 10000 + 173,
CURLOPT_PASSWORD = 10000 + 174,
CURLOPT_PROXYUSERNAME = 10000 + 175,
CURLOPT_PROXYPASSWORD = 10000 + 176,
CURLOPT_NOPROXY = 10000 + 177,
CURLOPT_TFTP_BLKSIZE = 0 + 178,
CURLOPT_SOCKS5_GSSAPI_SERVICE = 10000 + 179,
CURLOPT_SOCKS5_GSSAPI_NEC = 0 + 180,
CURLOPT_PROTOCOLS = 0 + 181,
CURLOPT_REDIR_PROTOCOLS = 0 + 182,
CURLOPT_SSH_KNOWNHOSTS = 10000 + 183,
CURLOPT_SSH_KEYFUNCTION = 20000 + 184,
CURLOPT_SSH_KEYDATA = 10000 + 185,
CURLOPT_MAIL_FROM = 10000 + 186,
CURLOPT_MAIL_RCPT = 10000 + 187,
CURLOPT_FTP_USE_PRET = 0 + 188,
CURLOPT_RTSP_REQUEST = 0 + 189,
CURLOPT_RTSP_SESSION_ID = 10000 + 190,
CURLOPT_RTSP_STREAM_URI = 10000 + 191,
CURLOPT_RTSP_TRANSPORT = 10000 + 192,
CURLOPT_RTSP_CLIENT_CSEQ = 0 + 193,
CURLOPT_RTSP_SERVER_CSEQ = 0 + 194,
CURLOPT_INTERLEAVEDATA = 10000 + 195,
CURLOPT_INTERLEAVEFUNCTION = 20000 + 196,
CURLOPT_WILDCARDMATCH = 0 + 197,
CURLOPT_CHUNK_BGN_FUNCTION = 20000 + 198,
CURLOPT_CHUNK_END_FUNCTION = 20000 + 199,
CURLOPT_FNMATCH_FUNCTION = 20000 + 200,
CURLOPT_CHUNK_DATA = 10000 + 201,
CURLOPT_FNMATCH_DATA = 10000 + 202,
CURLOPT_RESOLVE = 10000 + 203,
CURLOPT_TLSAUTH_USERNAME = 10000 + 204,
CURLOPT_TLSAUTH_PASSWORD = 10000 + 205,
CURLOPT_TLSAUTH_TYPE = 10000 + 206,
CURLOPT_TRANSFER_ENCODING = 0 + 207,
CURLOPT_CLOSESOCKETFUNCTION = 20000 + 208,
CURLOPT_CLOSESOCKETDATA = 10000 + 209,
CURLOPT_GSSAPI_DELEGATION = 0 + 210,
CURLOPT_DNS_SERVERS = 10000 + 211,
CURLOPT_ACCEPTTIMEOUT_MS = 0 + 212,
CURLOPT_TCP_KEEPALIVE = 0 + 213,
CURLOPT_TCP_KEEPIDLE = 0 + 214,
CURLOPT_TCP_KEEPINTVL = 0 + 215,
CURLOPT_SSL_OPTIONS = 0 + 216,
CURLOPT_MAIL_AUTH = 10000 + 217,
CURLOPT_SASL_IR = 0 + 218,
CURLOPT_XFERINFOFUNCTION = 20000 + 219,
CURLOPT_XOAUTH2_BEARER = 10000 + 220,
CURLOPT_DNS_INTERFACE = 10000 + 221,
CURLOPT_DNS_LOCAL_IP4 = 10000 + 222,
CURLOPT_DNS_LOCAL_IP6 = 10000 + 223,
CURLOPT_LOGIN_OPTIONS = 10000 + 224,
CURLOPT_SSL_ENABLE_NPN = 0 + 225,
CURLOPT_SSL_ENABLE_ALPN = 0 + 226,
CURLOPT_EXPECT_100_TIMEOUT_MS = 0 + 227,
CURLOPT_PROXYHEADER = 10000 + 228,
CURLOPT_HEADEROPT = 0 + 229,
CURLOPT_PINNEDPUBLICKEY = 10000 + 230,
CURLOPT_UNIX_SOCKET_PATH = 10000 + 231,
CURLOPT_SSL_VERIFYSTATUS = 0 + 232,
CURLOPT_SSL_FALSESTART = 0 + 233,
CURLOPT_PATH_AS_IS = 0 + 234,
CURLOPT_PROXY_SERVICE_NAME = 10000 + 235,
CURLOPT_SERVICE_NAME = 10000 + 236,
CURLOPT_PIPEWAIT = 0 + 237,
CURLOPT_DEFAULT_PROTOCOL = 10000 + 238,
CURLOPT_STREAM_WEIGHT = 0 + 239,
CURLOPT_STREAM_DEPENDS = 10000 + 240,
CURLOPT_STREAM_DEPENDS_E = 10000 + 241,
CURLOPT_TFTP_NO_OPTIONS = 0 + 242,
CURLOPT_CONNECT_TO = 10000 + 243,
CURLOPT_TCP_FASTOPEN = 0 + 244,
CURLOPT_KEEP_SENDING_ON_ERROR = 0 + 245,
CURLOPT_PROXY_CAINFO = 10000 + 246,
CURLOPT_PROXY_CAPATH = 10000 + 247,
CURLOPT_PROXY_SSL_VERIFYPEER = 0 + 248,
CURLOPT_PROXY_SSL_VERIFYHOST = 0 + 249,
CURLOPT_PROXY_SSLVERSION = 0 + 250,
CURLOPT_PROXY_TLSAUTH_USERNAME = 10000 + 251,
CURLOPT_PROXY_TLSAUTH_PASSWORD = 10000 + 252,
CURLOPT_PROXY_TLSAUTH_TYPE = 10000 + 253,
CURLOPT_PROXY_SSLCERT = 10000 + 254,
CURLOPT_PROXY_SSLCERTTYPE = 10000 + 255,
CURLOPT_PROXY_SSLKEY = 10000 + 256,
CURLOPT_PROXY_SSLKEYTYPE = 10000 + 257,
CURLOPT_PROXY_KEYPASSWD = 10000 + 258,
CURLOPT_PROXY_SSL_CIPHER_LIST = 10000 + 259,
CURLOPT_PROXY_CRLFILE = 10000 + 260,
CURLOPT_PROXY_SSL_OPTIONS = 0 + 261,
CURLOPT_PRE_PROXY = 10000 + 262,
CURLOPT_PROXY_PINNEDPUBLICKEY = 10000 + 263,
CURLOPT_ABSTRACT_UNIX_SOCKET = 10000 + 264,
CURLOPT_SUPPRESS_CONNECT_HEADERS = 0 + 265,
CURLOPT_REQUEST_TARGET = 10000 + 266,
CURLOPT_SOCKS5_AUTH = 0 + 267,
CURLOPT_SSH_COMPRESSION = 0 + 268,
CURLOPT_MIMEPOST = 10000 + 269,
CURLOPT_TIMEVALUE = 30000 + 270,
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS = 0 + 271,
CURLOPT_RESOLVER_START_FUNCTION = 20000 + 272,
CURLOPT_RESOLVER_START_DATA = 10000 + 273,
CURLOPT_HAPROXYPROTOCOL = 0 + 274,
CURLOPT_DNS_SHUFFLE_ADDRESSES = 0 + 275,
CURLOPT_TLS13_CIPHERS = 10000 + 276,
CURLOPT_PROXY_TLS13_CIPHERS = 10000 + 277,
CURLOPT_DISALLOW_USERNAME_IN_URL = 0 + 278,
CURLOPT_DOH_URL = 10000 + 279,
CURLOPT_UPLOAD_BUFFERSIZE = 0 + 280,
CURLOPT_UPKEEP_INTERVAL_MS = 0 + 281,
CURLOPT_CURLU = 10000 + 282,
CURLOPT_TRAILERFUNCTION = 20000 + 283,
CURLOPT_TRAILERDATA = 10000 + 284,
CURLOPT_HTTP09_ALLOWED = 0 + 285,
CURLOPT_ALTSVC_CTRL = 0 + 286,
CURLOPT_ALTSVC = 10000 + 287,
CURLOPT_MAXAGE_CONN = 0 + 288,
CURLOPT_SASL_AUTHZID = 10000 + 289,
CURLOPT_FILE = CURLOPT_WRITEDATA,
CURLOPT_INFILE = CURLOPT_READDATA,
CURLOPT_WRITEHEADER = CURLOPT_HEADERDATA,
// CURLOPT_WRITEINFO = CURLOPT_OBSOLETE40,
// CURLOPT_CLOSEPOLICY = CURLOPT_OBSOLETE72,
CURLOPT_ENCODING = CURLOPT_ACCEPT_ENCODING,
} CURLoption;
enum {
CURLOPT_POST301 = CURLOPT_POSTREDIR,
@@ -738,11 +788,6 @@ enum {
CURLPROTO_SMB = (1<<26),
CURLPROTO_SMBS = (1<<27),
CURLPROTO_ALL = (~0),
CURLOPTTYPE_LONG = 0,
CURLOPTTYPE_OBJECTPOINT = 10000,
CURLOPTTYPE_STRINGPOINT = 10000,
CURLOPTTYPE_FUNCTIONPOINT = 20000,
CURLOPTTYPE_OFF_T = 30000,
};
enum {
CURL_HTTP_VERSION_NONE,
@@ -816,30 +861,6 @@ enum {
};
int (curl_strequal)(const char *s1, const char *s2);
int (curl_strnequal)(const char *s1, const char *s2, size_t n);
typedef enum {
CURLFORM_NOTHING,
CURLFORM_COPYNAME,
CURLFORM_PTRNAME,
CURLFORM_NAMELENGTH,
CURLFORM_COPYCONTENTS,
CURLFORM_PTRCONTENTS,
CURLFORM_CONTENTSLENGTH,
CURLFORM_FILECONTENT,
CURLFORM_ARRAY,
CURLFORM_OBSOLETE,
CURLFORM_FILE,
CURLFORM_BUFFER,
CURLFORM_BUFFERPTR,
CURLFORM_BUFFERLENGTH,
CURLFORM_CONTENTTYPE,
CURLFORM_CONTENTHEADER,
CURLFORM_FILENAME,
CURLFORM_END,
CURLFORM_OBSOLETE2,
CURLFORM_STREAM,
CURLFORM_CONTENTLEN,
CURLFORM_LASTENTRY
} CURLformoption;
char *curl_version(void);
char *curl_easy_escape(CURL *handle, const char *string, int length);
char *curl_escape(const char *string, int length);
+6 -4
View File
@@ -209,13 +209,15 @@ function test.download()
end
function test.mime()
local e = curl.easy{
url = 'http://speedtest.tele2.net/upload.php',
}
local e = curl.easy()
local m = e:mime()
local p = m:part()
p:headers{'Some-Header: foo', 'Other-Header: bar'}
p:file[[x:\openresty\openssl-1.1.1d.tar.gz]]
p:name'openssl-file'
p:filename'openssl-1.1.1d.tar.gz'
p:data(('hello\n'):rep(10)..'\nEND')
e:set('mimepost', m)
e:set('url', 'http://ptsv2.com/t/capr/post')
assert(e:perform())
e:close()
print'\nDone'