go-curl: github.com/andelf/go-curl Index | Files | Directories

package curl

import "github.com/andelf/go-curl"

libcurl go bingding

Index

Package Files

callback.go const.go const_gen.go core.go easy.go logging.go multi.go share.go

Constants

const (
    GLOBAL_SSL     = C.CURL_GLOBAL_SSL
    GLOBAL_WIN32   = C.CURL_GLOBAL_WIN32
    GLOBAL_ALL     = C.CURL_GLOBAL_ALL
    GLOBAL_NOTHING = C.CURL_GLOBAL_NOTHING
    GLOBAL_DEFAULT = C.CURL_GLOBAL_DEFAULT
)

for GlobalInit(flag)

const (
    M_CALL_MULTI_PERFORM = C.CURLM_CALL_MULTI_PERFORM
    //        M_OK                 = C.CURLM_OK
    M_BAD_HANDLE      = C.CURLM_BAD_HANDLE
    M_BAD_EASY_HANDLE = C.CURLM_BAD_EASY_HANDLE
    M_OUT_OF_MEMORY   = C.CURLM_OUT_OF_MEMORY
    M_INTERNAL_ERROR  = C.CURLM_INTERNAL_ERROR
    M_BAD_SOCKET      = C.CURLM_BAD_SOCKET
    M_UNKNOWN_OPTION  = C.CURLM_UNKNOWN_OPTION
)

CURLMcode

const (
    MOPT_SOCKETFUNCTION = C.CURLMOPT_SOCKETFUNCTION
    MOPT_SOCKETDATA     = C.CURLMOPT_SOCKETDATA
    MOPT_PIPELINING     = C.CURLMOPT_PIPELINING
    MOPT_TIMERFUNCTION  = C.CURLMOPT_TIMERFUNCTION
    MOPT_TIMERDATA      = C.CURLMOPT_TIMERDATA
    MOPT_MAXCONNECTS    = C.CURLMOPT_MAXCONNECTS
)

for multi.Setopt(flag, ...)

const (
    //        SHE_OK         = C.CURLSHE_OK
    SHE_BAD_OPTION = C.CURLSHE_BAD_OPTION
    SHE_IN_USE     = C.CURLSHE_IN_USE
    SHE_INVALID    = C.CURLSHE_INVALID
    SHE_NOMEM      = C.CURLSHE_NOMEM
)

CURLSHcode

const (
    SHOPT_SHARE      = C.CURLSHOPT_SHARE
    SHOPT_UNSHARE    = C.CURLSHOPT_UNSHARE
    SHOPT_LOCKFUNC   = C.CURLSHOPT_LOCKFUNC
    SHOPT_UNLOCKFUNC = C.CURLSHOPT_UNLOCKFUNC
    SHOPT_USERDATA   = C.CURLSHOPT_USERDATA
)

for share.Setopt(flat, ...)

const (
    LOCK_DATA_SHARE       = C.CURL_LOCK_DATA_SHARE
    LOCK_DATA_COOKIE      = C.CURL_LOCK_DATA_COOKIE
    LOCK_DATA_DNS         = C.CURL_LOCK_DATA_DNS
    LOCK_DATA_SSL_SESSION = C.CURL_LOCK_DATA_SSL_SESSION
    LOCK_DATA_CONNECT     = C.CURL_LOCK_DATA_CONNECT
)

for share.Setopt(SHOPT_SHARE/SHOPT_UNSHARE, flag)

const (
    VERSION_FIRST  = C.CURLVERSION_FIRST
    VERSION_SECOND = C.CURLVERSION_SECOND
    VERSION_THIRD  = C.CURLVERSION_THIRD
    // VERSION_FOURTH = C.CURLVERSION_FOURTH
    VERSION_LAST = C.CURLVERSION_LAST
    VERSION_NOW  = C.CURLVERSION_NOW
)

for VersionInfo(flag)

const (
    VERSION_IPV6         = C.CURL_VERSION_IPV6
    VERSION_KERBEROS4    = C.CURL_VERSION_KERBEROS4
    VERSION_SSL          = C.CURL_VERSION_SSL
    VERSION_LIBZ         = C.CURL_VERSION_LIBZ
    VERSION_NTLM         = C.CURL_VERSION_NTLM
    VERSION_GSSNEGOTIATE = C.CURL_VERSION_GSSNEGOTIATE
    VERSION_DEBUG        = C.CURL_VERSION_DEBUG
    VERSION_ASYNCHDNS    = C.CURL_VERSION_ASYNCHDNS
    VERSION_SPNEGO       = C.CURL_VERSION_SPNEGO
    VERSION_LARGEFILE    = C.CURL_VERSION_LARGEFILE
    VERSION_IDN          = C.CURL_VERSION_IDN
    VERSION_SSPI         = C.CURL_VERSION_SSPI
    VERSION_CONV         = C.CURL_VERSION_CONV
    VERSION_CURLDEBUG    = C.CURL_VERSION_CURLDEBUG
    VERSION_TLSAUTH_SRP  = C.CURL_VERSION_TLSAUTH_SRP
    VERSION_NTLM_WB      = C.CURL_VERSION_NTLM_WB
)

for VersionInfo(...).Features mask flag

const (
    READFUNC_ABORT = C.CURL_READFUNC_ABORT
    READFUNC_PAUSE = C.CURL_READFUNC_PAUSE
)

for OPT_READFUNCTION, return a int flag

const (
    HTTP_VERSION_NONE = C.CURL_HTTP_VERSION_NONE
    HTTP_VERSION_1_0  = C.CURL_HTTP_VERSION_1_0
    HTTP_VERSION_1_1  = C.CURL_HTTP_VERSION_1_1
)

for easy.Setopt(OPT_HTTP_VERSION, flag)

const (
    PROXY_HTTP     = C.CURLPROXY_HTTP     /* added in 7.10, new in 7.19.4 default is to use CONNECT HTTP/1.1 */
    PROXY_HTTP_1_0 = C.CURLPROXY_HTTP_1_0 /* added in 7.19.4, force to use CONNECT HTTP/1.0  */
    PROXY_SOCKS4   = C.CURLPROXY_SOCKS4   /* support added in 7.15.2, enum existed already in 7.10 */
    PROXY_SOCKS5   = C.CURLPROXY_SOCKS5   /* added in 7.10 */
    PROXY_SOCKS4A  = C.CURLPROXY_SOCKS4A  /* added in 7.18.0 */
    // Use the SOCKS5 protocol but pass along the host name rather than the IP address.
    PROXY_SOCKS5_HOSTNAME = C.CURLPROXY_SOCKS5_HOSTNAME
)

for easy.Setopt(OPT_PROXYTYPE, flag)

const (
    SSLVERSION_DEFAULT = C.CURL_SSLVERSION_DEFAULT
    SSLVERSION_TLSv1   = C.CURL_SSLVERSION_TLSv1
    SSLVERSION_SSLv2   = C.CURL_SSLVERSION_SSLv2
    SSLVERSION_SSLv3   = C.CURL_SSLVERSION_SSLv3
)

for easy.Setopt(OPT_SSLVERSION, flag)

const (
    TIMECOND_NONE         = C.CURL_TIMECOND_NONE
    TIMECOND_IFMODSINCE   = C.CURL_TIMECOND_IFMODSINCE
    TIMECOND_IFUNMODSINCE = C.CURL_TIMECOND_IFUNMODSINCE
    TIMECOND_LASTMOD      = C.CURL_TIMECOND_LASTMOD
)

for easy.Setopt(OPT_TIMECONDITION, flag)

const (
    NETRC_IGNORED  = C.CURL_NETRC_IGNORED
    NETRC_OPTIONAL = C.CURL_NETRC_OPTIONAL
    NETRC_REQUIRED = C.CURL_NETRC_REQUIRED
)

for easy.Setopt(OPT_NETRC, flag)

const (
    FTP_CREATE_DIR_NONE  = C.CURLFTP_CREATE_DIR_NONE
    FTP_CREATE_DIR       = C.CURLFTP_CREATE_DIR
    FTP_CREATE_DIR_RETRY = C.CURLFTP_CREATE_DIR_RETRY
)

for easy.Setopt(OPT_FTP_CREATE_MISSING_DIRS, flag)

const (
    IPRESOLVE_WHATEVER = C.CURL_IPRESOLVE_WHATEVER
    IPRESOLVE_V4       = C.CURL_IPRESOLVE_V4
    IPRESOLVE_V6       = C.CURL_IPRESOLVE_V6
)

for easy.Setopt(OPT_IPRESOLVE, flag)

const (
    PAUSE_RECV      = C.CURLPAUSE_RECV
    PAUSE_RECV_CONT = C.CURLPAUSE_RECV_CONT
    PAUSE_SEND      = C.CURLPAUSE_SEND
    PAUSE_SEND_CONT = C.CURLPAUSE_SEND_CONT
    PAUSE_ALL       = C.CURLPAUSE_ALL
    PAUSE_CONT      = C.CURLPAUSE_CONT
)

for easy.Pause(flat)

const (
    CURLMSG_NONE = C.CURLMSG_NONE
    CURLMSG_DONE = C.CURLMSG_DONE
    CURLMSG_LAST = C.CURLMSG_LAST
)

for multi.Info_read()

const (
    E_UNSUPPORTED_PROTOCOL        = C.CURLE_UNSUPPORTED_PROTOCOL
    E_FAILED_INIT                 = C.CURLE_FAILED_INIT
    E_URL_MALFORMAT               = C.CURLE_URL_MALFORMAT
    E_NOT_BUILT_IN                = C.CURLE_NOT_BUILT_IN
    E_COULDNT_RESOLVE_PROXY       = C.CURLE_COULDNT_RESOLVE_PROXY
    E_COULDNT_RESOLVE_HOST        = C.CURLE_COULDNT_RESOLVE_HOST
    E_COULDNT_CONNECT             = C.CURLE_COULDNT_CONNECT
    E_WEIRD_SERVER_REPLY          = C.CURLE_WEIRD_SERVER_REPLY
    E_REMOTE_ACCESS_DENIED        = C.CURLE_REMOTE_ACCESS_DENIED
    E_FTP_ACCEPT_FAILED           = C.CURLE_FTP_ACCEPT_FAILED
    E_FTP_WEIRD_PASS_REPLY        = C.CURLE_FTP_WEIRD_PASS_REPLY
    E_FTP_ACCEPT_TIMEOUT          = C.CURLE_FTP_ACCEPT_TIMEOUT
    E_FTP_WEIRD_PASV_REPLY        = C.CURLE_FTP_WEIRD_PASV_REPLY
    E_FTP_WEIRD_227_FORMAT        = C.CURLE_FTP_WEIRD_227_FORMAT
    E_FTP_CANT_GET_HOST           = C.CURLE_FTP_CANT_GET_HOST
    E_HTTP2                       = C.CURLE_HTTP2
    E_FTP_COULDNT_SET_TYPE        = C.CURLE_FTP_COULDNT_SET_TYPE
    E_PARTIAL_FILE                = C.CURLE_PARTIAL_FILE
    E_FTP_COULDNT_RETR_FILE       = C.CURLE_FTP_COULDNT_RETR_FILE
    E_OBSOLETE20                  = C.CURLE_OBSOLETE20
    E_QUOTE_ERROR                 = C.CURLE_QUOTE_ERROR
    E_HTTP_RETURNED_ERROR         = C.CURLE_HTTP_RETURNED_ERROR
    E_WRITE_ERROR                 = C.CURLE_WRITE_ERROR
    E_OBSOLETE24                  = C.CURLE_OBSOLETE24
    E_UPLOAD_FAILED               = C.CURLE_UPLOAD_FAILED
    E_READ_ERROR                  = C.CURLE_READ_ERROR
    E_OUT_OF_MEMORY               = C.CURLE_OUT_OF_MEMORY
    E_OPERATION_TIMEDOUT          = C.CURLE_OPERATION_TIMEDOUT
    E_OBSOLETE29                  = C.CURLE_OBSOLETE29
    E_FTP_PORT_FAILED             = C.CURLE_FTP_PORT_FAILED
    E_FTP_COULDNT_USE_REST        = C.CURLE_FTP_COULDNT_USE_REST
    E_OBSOLETE32                  = C.CURLE_OBSOLETE32
    E_RANGE_ERROR                 = C.CURLE_RANGE_ERROR
    E_HTTP_POST_ERROR             = C.CURLE_HTTP_POST_ERROR
    E_SSL_CONNECT_ERROR           = C.CURLE_SSL_CONNECT_ERROR
    E_BAD_DOWNLOAD_RESUME         = C.CURLE_BAD_DOWNLOAD_RESUME
    E_FILE_COULDNT_READ_FILE      = C.CURLE_FILE_COULDNT_READ_FILE
    E_LDAP_CANNOT_BIND            = C.CURLE_LDAP_CANNOT_BIND
    E_LDAP_SEARCH_FAILED          = C.CURLE_LDAP_SEARCH_FAILED
    E_OBSOLETE40                  = C.CURLE_OBSOLETE40
    E_FUNCTION_NOT_FOUND          = C.CURLE_FUNCTION_NOT_FOUND
    E_ABORTED_BY_CALLBACK         = C.CURLE_ABORTED_BY_CALLBACK
    E_BAD_FUNCTION_ARGUMENT       = C.CURLE_BAD_FUNCTION_ARGUMENT
    E_OBSOLETE44                  = C.CURLE_OBSOLETE44
    E_INTERFACE_FAILED            = C.CURLE_INTERFACE_FAILED
    E_OBSOLETE46                  = C.CURLE_OBSOLETE46
    E_TOO_MANY_REDIRECTS          = C.CURLE_TOO_MANY_REDIRECTS
    E_UNKNOWN_OPTION              = C.CURLE_UNKNOWN_OPTION
    E_TELNET_OPTION_SYNTAX        = C.CURLE_TELNET_OPTION_SYNTAX
    E_OBSOLETE50                  = C.CURLE_OBSOLETE50
    E_PEER_FAILED_VERIFICATION    = C.CURLE_PEER_FAILED_VERIFICATION
    E_GOT_NOTHING                 = C.CURLE_GOT_NOTHING
    E_SSL_ENGINE_NOTFOUND         = C.CURLE_SSL_ENGINE_NOTFOUND
    E_SSL_ENGINE_SETFAILED        = C.CURLE_SSL_ENGINE_SETFAILED
    E_SEND_ERROR                  = C.CURLE_SEND_ERROR
    E_RECV_ERROR                  = C.CURLE_RECV_ERROR
    E_OBSOLETE57                  = C.CURLE_OBSOLETE57
    E_SSL_CERTPROBLEM             = C.CURLE_SSL_CERTPROBLEM
    E_SSL_CIPHER                  = C.CURLE_SSL_CIPHER
    E_SSL_CACERT                  = C.CURLE_SSL_CACERT
    E_BAD_CONTENT_ENCODING        = C.CURLE_BAD_CONTENT_ENCODING
    E_LDAP_INVALID_URL            = C.CURLE_LDAP_INVALID_URL
    E_FILESIZE_EXCEEDED           = C.CURLE_FILESIZE_EXCEEDED
    E_USE_SSL_FAILED              = C.CURLE_USE_SSL_FAILED
    E_SEND_FAIL_REWIND            = C.CURLE_SEND_FAIL_REWIND
    E_SSL_ENGINE_INITFAILED       = C.CURLE_SSL_ENGINE_INITFAILED
    E_LOGIN_DENIED                = C.CURLE_LOGIN_DENIED
    E_TFTP_NOTFOUND               = C.CURLE_TFTP_NOTFOUND
    E_TFTP_PERM                   = C.CURLE_TFTP_PERM
    E_REMOTE_DISK_FULL            = C.CURLE_REMOTE_DISK_FULL
    E_TFTP_ILLEGAL                = C.CURLE_TFTP_ILLEGAL
    E_TFTP_UNKNOWNID              = C.CURLE_TFTP_UNKNOWNID
    E_REMOTE_FILE_EXISTS          = C.CURLE_REMOTE_FILE_EXISTS
    E_TFTP_NOSUCHUSER             = C.CURLE_TFTP_NOSUCHUSER
    E_CONV_FAILED                 = C.CURLE_CONV_FAILED
    E_CONV_REQD                   = C.CURLE_CONV_REQD
    E_SSL_CACERT_BADFILE          = C.CURLE_SSL_CACERT_BADFILE
    E_REMOTE_FILE_NOT_FOUND       = C.CURLE_REMOTE_FILE_NOT_FOUND
    E_SSH                         = C.CURLE_SSH
    E_SSL_SHUTDOWN_FAILED         = C.CURLE_SSL_SHUTDOWN_FAILED
    E_AGAIN                       = C.CURLE_AGAIN
    E_SSL_CRL_BADFILE             = C.CURLE_SSL_CRL_BADFILE
    E_SSL_ISSUER_ERROR            = C.CURLE_SSL_ISSUER_ERROR
    E_FTP_PRET_FAILED             = C.CURLE_FTP_PRET_FAILED
    E_RTSP_CSEQ_ERROR             = C.CURLE_RTSP_CSEQ_ERROR
    E_RTSP_SESSION_ERROR          = C.CURLE_RTSP_SESSION_ERROR
    E_FTP_BAD_FILE_LIST           = C.CURLE_FTP_BAD_FILE_LIST
    E_CHUNK_FAILED                = C.CURLE_CHUNK_FAILED
    E_NO_CONNECTION_AVAILABLE     = C.CURLE_NO_CONNECTION_AVAILABLE
    E_SSL_PINNEDPUBKEYNOTMATCH    = C.CURLE_SSL_PINNEDPUBKEYNOTMATCH
    E_SSL_INVALIDCERTSTATUS       = C.CURLE_SSL_INVALIDCERTSTATUS
    E_HTTP2_STREAM                = C.CURLE_HTTP2_STREAM
    E_OBSOLETE16                  = C.CURLE_OBSOLETE16
    E_OBSOLETE10                  = C.CURLE_OBSOLETE10
    E_OBSOLETE12                  = C.CURLE_OBSOLETE12
    E_FTP_WEIRD_SERVER_REPLY      = C.CURLE_FTP_WEIRD_SERVER_REPLY
    E_UNKNOWN_TELNET_OPTION       = C.CURLE_UNKNOWN_TELNET_OPTION
    E_SSL_PEER_CERTIFICATE        = C.CURLE_SSL_PEER_CERTIFICATE
    E_OBSOLETE                    = C.CURLE_OBSOLETE
    E_BAD_PASSWORD_ENTERED        = C.CURLE_BAD_PASSWORD_ENTERED
    E_BAD_CALLING_ORDER           = C.CURLE_BAD_CALLING_ORDER
    E_FTP_USER_PASSWORD_INCORRECT = C.CURLE_FTP_USER_PASSWORD_INCORRECT
    E_FTP_CANT_RECONNECT          = C.CURLE_FTP_CANT_RECONNECT
    E_FTP_COULDNT_GET_SIZE        = C.CURLE_FTP_COULDNT_GET_SIZE
    E_FTP_COULDNT_SET_ASCII       = C.CURLE_FTP_COULDNT_SET_ASCII
    E_FTP_WEIRD_USER_REPLY        = C.CURLE_FTP_WEIRD_USER_REPLY
    E_FTP_WRITE_ERROR             = C.CURLE_FTP_WRITE_ERROR
    E_LIBRARY_NOT_FOUND           = C.CURLE_LIBRARY_NOT_FOUND
    E_MALFORMAT_USER              = C.CURLE_MALFORMAT_USER
    E_SHARE_IN_USE                = C.CURLE_SHARE_IN_USE
    E_URL_MALFORMAT_USER          = C.CURLE_URL_MALFORMAT_USER
    E_FTP_ACCESS_DENIED           = C.CURLE_FTP_ACCESS_DENIED
    E_FTP_COULDNT_SET_BINARY      = C.CURLE_FTP_COULDNT_SET_BINARY
    E_FTP_QUOTE_ERROR             = C.CURLE_FTP_QUOTE_ERROR
    E_TFTP_DISKFULL               = C.CURLE_TFTP_DISKFULL
    E_TFTP_EXISTS                 = C.CURLE_TFTP_EXISTS
    E_HTTP_RANGE_ERROR            = C.CURLE_HTTP_RANGE_ERROR
    E_FTP_SSL_FAILED              = C.CURLE_FTP_SSL_FAILED
    E_OPERATION_TIMEOUTED         = C.CURLE_OPERATION_TIMEOUTED
    E_HTTP_NOT_FOUND              = C.CURLE_HTTP_NOT_FOUND
    E_HTTP_PORT_FAILED            = C.CURLE_HTTP_PORT_FAILED
    E_FTP_COULDNT_STOR_FILE       = C.CURLE_FTP_COULDNT_STOR_FILE
    E_FTP_PARTIAL_FILE            = C.CURLE_FTP_PARTIAL_FILE
    E_FTP_BAD_DOWNLOAD_RESUME     = C.CURLE_FTP_BAD_DOWNLOAD_RESUME
    E_ALREADY_COMPLETE            = C.CURLE_ALREADY_COMPLETE
)

CURLcode

const (
    OPT_ENCODING                   = C.CURLOPT_ENCODING
    OPT_FILE                       = C.CURLOPT_FILE
    OPT_INFILE                     = C.CURLOPT_INFILE
    OPT_WRITEHEADER                = C.CURLOPT_WRITEHEADER
    OPT_WRITEINFO                  = C.CURLOPT_WRITEINFO
    OPT_CLOSEPOLICY                = C.CURLOPT_CLOSEPOLICY
    OPT_WRITEDATA                  = C.CURLOPT_WRITEDATA
    OPT_URL                        = C.CURLOPT_URL
    OPT_PORT                       = C.CURLOPT_PORT
    OPT_PROXY                      = C.CURLOPT_PROXY
    OPT_USERPWD                    = C.CURLOPT_USERPWD
    OPT_PROXYUSERPWD               = C.CURLOPT_PROXYUSERPWD
    OPT_RANGE                      = C.CURLOPT_RANGE
    OPT_READDATA                   = C.CURLOPT_READDATA
    OPT_ERRORBUFFER                = C.CURLOPT_ERRORBUFFER
    OPT_WRITEFUNCTION              = C.CURLOPT_WRITEFUNCTION
    OPT_READFUNCTION               = C.CURLOPT_READFUNCTION
    OPT_TIMEOUT                    = C.CURLOPT_TIMEOUT
    OPT_INFILESIZE                 = C.CURLOPT_INFILESIZE
    OPT_POSTFIELDS                 = C.CURLOPT_POSTFIELDS
    OPT_REFERER                    = C.CURLOPT_REFERER
    OPT_FTPPORT                    = C.CURLOPT_FTPPORT
    OPT_USERAGENT                  = C.CURLOPT_USERAGENT
    OPT_LOW_SPEED_LIMIT            = C.CURLOPT_LOW_SPEED_LIMIT
    OPT_LOW_SPEED_TIME             = C.CURLOPT_LOW_SPEED_TIME
    OPT_RESUME_FROM                = C.CURLOPT_RESUME_FROM
    OPT_COOKIE                     = C.CURLOPT_COOKIE
    OPT_HTTPHEADER                 = C.CURLOPT_HTTPHEADER
    OPT_HTTPPOST                   = C.CURLOPT_HTTPPOST
    OPT_SSLCERT                    = C.CURLOPT_SSLCERT
    OPT_KEYPASSWD                  = C.CURLOPT_KEYPASSWD
    OPT_CRLF                       = C.CURLOPT_CRLF
    OPT_QUOTE                      = C.CURLOPT_QUOTE
    OPT_HEADERDATA                 = C.CURLOPT_HEADERDATA
    OPT_COOKIEFILE                 = C.CURLOPT_COOKIEFILE
    OPT_SSLVERSION                 = C.CURLOPT_SSLVERSION
    OPT_TIMECONDITION              = C.CURLOPT_TIMECONDITION
    OPT_TIMEVALUE                  = C.CURLOPT_TIMEVALUE
    OPT_CUSTOMREQUEST              = C.CURLOPT_CUSTOMREQUEST
    OPT_STDERR                     = C.CURLOPT_STDERR
    OPT_POSTQUOTE                  = C.CURLOPT_POSTQUOTE
    OPT_OBSOLETE40                 = C.CURLOPT_OBSOLETE40
    OPT_VERBOSE                    = C.CURLOPT_VERBOSE
    OPT_HEADER                     = C.CURLOPT_HEADER
    OPT_NOPROGRESS                 = C.CURLOPT_NOPROGRESS
    OPT_NOBODY                     = C.CURLOPT_NOBODY
    OPT_FAILONERROR                = C.CURLOPT_FAILONERROR
    OPT_UPLOAD                     = C.CURLOPT_UPLOAD
    OPT_POST                       = C.CURLOPT_POST
    OPT_DIRLISTONLY                = C.CURLOPT_DIRLISTONLY
    OPT_APPEND                     = C.CURLOPT_APPEND
    OPT_NETRC                      = C.CURLOPT_NETRC
    OPT_FOLLOWLOCATION             = C.CURLOPT_FOLLOWLOCATION
    OPT_TRANSFERTEXT               = C.CURLOPT_TRANSFERTEXT
    OPT_PUT                        = C.CURLOPT_PUT
    OPT_PROGRESSFUNCTION           = C.CURLOPT_PROGRESSFUNCTION
    OPT_PROGRESSDATA               = C.CURLOPT_PROGRESSDATA
    OPT_XFERINFODATA               = C.CURLOPT_XFERINFODATA
    OPT_AUTOREFERER                = C.CURLOPT_AUTOREFERER
    OPT_PROXYPORT                  = C.CURLOPT_PROXYPORT
    OPT_POSTFIELDSIZE              = C.CURLOPT_POSTFIELDSIZE
    OPT_HTTPPROXYTUNNEL            = C.CURLOPT_HTTPPROXYTUNNEL
    OPT_INTERFACE                  = C.CURLOPT_INTERFACE
    OPT_KRBLEVEL                   = C.CURLOPT_KRBLEVEL
    OPT_SSL_VERIFYPEER             = C.CURLOPT_SSL_VERIFYPEER
    OPT_CAINFO                     = C.CURLOPT_CAINFO
    OPT_MAXREDIRS                  = C.CURLOPT_MAXREDIRS
    OPT_FILETIME                   = C.CURLOPT_FILETIME
    OPT_TELNETOPTIONS              = C.CURLOPT_TELNETOPTIONS
    OPT_MAXCONNECTS                = C.CURLOPT_MAXCONNECTS
    OPT_OBSOLETE72                 = C.CURLOPT_OBSOLETE72
    OPT_FRESH_CONNECT              = C.CURLOPT_FRESH_CONNECT
    OPT_FORBID_REUSE               = C.CURLOPT_FORBID_REUSE
    OPT_RANDOM_FILE                = C.CURLOPT_RANDOM_FILE
    OPT_EGDSOCKET                  = C.CURLOPT_EGDSOCKET
    OPT_CONNECTTIMEOUT             = C.CURLOPT_CONNECTTIMEOUT
    OPT_HEADERFUNCTION             = C.CURLOPT_HEADERFUNCTION
    OPT_HTTPGET                    = C.CURLOPT_HTTPGET
    OPT_SSL_VERIFYHOST             = C.CURLOPT_SSL_VERIFYHOST
    OPT_COOKIEJAR                  = C.CURLOPT_COOKIEJAR
    OPT_SSL_CIPHER_LIST            = C.CURLOPT_SSL_CIPHER_LIST
    OPT_HTTP_VERSION               = C.CURLOPT_HTTP_VERSION
    OPT_FTP_USE_EPSV               = C.CURLOPT_FTP_USE_EPSV
    OPT_SSLCERTTYPE                = C.CURLOPT_SSLCERTTYPE
    OPT_SSLKEY                     = C.CURLOPT_SSLKEY
    OPT_SSLKEYTYPE                 = C.CURLOPT_SSLKEYTYPE
    OPT_SSLENGINE                  = C.CURLOPT_SSLENGINE
    OPT_SSLENGINE_DEFAULT          = C.CURLOPT_SSLENGINE_DEFAULT
    OPT_DNS_USE_GLOBAL_CACHE       = C.CURLOPT_DNS_USE_GLOBAL_CACHE
    OPT_DNS_CACHE_TIMEOUT          = C.CURLOPT_DNS_CACHE_TIMEOUT
    OPT_PREQUOTE                   = C.CURLOPT_PREQUOTE
    OPT_DEBUGFUNCTION              = C.CURLOPT_DEBUGFUNCTION
    OPT_DEBUGDATA                  = C.CURLOPT_DEBUGDATA
    OPT_COOKIESESSION              = C.CURLOPT_COOKIESESSION
    OPT_CAPATH                     = C.CURLOPT_CAPATH
    OPT_BUFFERSIZE                 = C.CURLOPT_BUFFERSIZE
    OPT_NOSIGNAL                   = C.CURLOPT_NOSIGNAL
    OPT_SHARE                      = C.CURLOPT_SHARE
    OPT_PROXYTYPE                  = C.CURLOPT_PROXYTYPE
    OPT_ACCEPT_ENCODING            = C.CURLOPT_ACCEPT_ENCODING
    OPT_PRIVATE                    = C.CURLOPT_PRIVATE
    OPT_HTTP200ALIASES             = C.CURLOPT_HTTP200ALIASES
    OPT_UNRESTRICTED_AUTH          = C.CURLOPT_UNRESTRICTED_AUTH
    OPT_FTP_USE_EPRT               = C.CURLOPT_FTP_USE_EPRT
    OPT_HTTPAUTH                   = C.CURLOPT_HTTPAUTH
    OPT_SSL_CTX_FUNCTION           = C.CURLOPT_SSL_CTX_FUNCTION
    OPT_SSL_CTX_DATA               = C.CURLOPT_SSL_CTX_DATA
    OPT_FTP_CREATE_MISSING_DIRS    = C.CURLOPT_FTP_CREATE_MISSING_DIRS
    OPT_PROXYAUTH                  = C.CURLOPT_PROXYAUTH
    OPT_FTP_RESPONSE_TIMEOUT       = C.CURLOPT_FTP_RESPONSE_TIMEOUT
    OPT_SERVER_RESPONSE_TIMEOUT    = C.CURLOPT_SERVER_RESPONSE_TIMEOUT
    OPT_IPRESOLVE                  = C.CURLOPT_IPRESOLVE
    OPT_MAXFILESIZE                = C.CURLOPT_MAXFILESIZE
    OPT_INFILESIZE_LARGE           = C.CURLOPT_INFILESIZE_LARGE
    OPT_RESUME_FROM_LARGE          = C.CURLOPT_RESUME_FROM_LARGE
    OPT_MAXFILESIZE_LARGE          = C.CURLOPT_MAXFILESIZE_LARGE
    OPT_NETRC_FILE                 = C.CURLOPT_NETRC_FILE
    OPT_USE_SSL                    = C.CURLOPT_USE_SSL
    OPT_POSTFIELDSIZE_LARGE        = C.CURLOPT_POSTFIELDSIZE_LARGE
    OPT_TCP_NODELAY                = C.CURLOPT_TCP_NODELAY
    OPT_FTPSSLAUTH                 = C.CURLOPT_FTPSSLAUTH
    OPT_IOCTLFUNCTION              = C.CURLOPT_IOCTLFUNCTION
    OPT_IOCTLDATA                  = C.CURLOPT_IOCTLDATA
    OPT_FTP_ACCOUNT                = C.CURLOPT_FTP_ACCOUNT
    OPT_COOKIELIST                 = C.CURLOPT_COOKIELIST
    OPT_IGNORE_CONTENT_LENGTH      = C.CURLOPT_IGNORE_CONTENT_LENGTH
    OPT_FTP_SKIP_PASV_IP           = C.CURLOPT_FTP_SKIP_PASV_IP
    OPT_FTP_FILEMETHOD             = C.CURLOPT_FTP_FILEMETHOD
    OPT_LOCALPORT                  = C.CURLOPT_LOCALPORT
    OPT_LOCALPORTRANGE             = C.CURLOPT_LOCALPORTRANGE
    OPT_CONNECT_ONLY               = C.CURLOPT_CONNECT_ONLY
    OPT_CONV_FROM_NETWORK_FUNCTION = C.CURLOPT_CONV_FROM_NETWORK_FUNCTION
    OPT_CONV_TO_NETWORK_FUNCTION   = C.CURLOPT_CONV_TO_NETWORK_FUNCTION
    OPT_CONV_FROM_UTF8_FUNCTION    = C.CURLOPT_CONV_FROM_UTF8_FUNCTION
    OPT_MAX_SEND_SPEED_LARGE       = C.CURLOPT_MAX_SEND_SPEED_LARGE
    OPT_MAX_RECV_SPEED_LARGE       = C.CURLOPT_MAX_RECV_SPEED_LARGE
    OPT_FTP_ALTERNATIVE_TO_USER    = C.CURLOPT_FTP_ALTERNATIVE_TO_USER
    OPT_SOCKOPTFUNCTION            = C.CURLOPT_SOCKOPTFUNCTION
    OPT_SOCKOPTDATA                = C.CURLOPT_SOCKOPTDATA
    OPT_SSL_SESSIONID_CACHE        = C.CURLOPT_SSL_SESSIONID_CACHE
    OPT_SSH_AUTH_TYPES             = C.CURLOPT_SSH_AUTH_TYPES
    OPT_SSH_PUBLIC_KEYFILE         = C.CURLOPT_SSH_PUBLIC_KEYFILE
    OPT_SSH_PRIVATE_KEYFILE        = C.CURLOPT_SSH_PRIVATE_KEYFILE
    OPT_FTP_SSL_CCC                = C.CURLOPT_FTP_SSL_CCC
    OPT_TIMEOUT_MS                 = C.CURLOPT_TIMEOUT_MS
    OPT_CONNECTTIMEOUT_MS          = C.CURLOPT_CONNECTTIMEOUT_MS
    OPT_HTTP_TRANSFER_DECODING     = C.CURLOPT_HTTP_TRANSFER_DECODING
    OPT_HTTP_CONTENT_DECODING      = C.CURLOPT_HTTP_CONTENT_DECODING
    OPT_NEW_FILE_PERMS             = C.CURLOPT_NEW_FILE_PERMS
    OPT_NEW_DIRECTORY_PERMS        = C.CURLOPT_NEW_DIRECTORY_PERMS
    OPT_POSTREDIR                  = C.CURLOPT_POSTREDIR
    OPT_SSH_HOST_PUBLIC_KEY_MD5    = C.CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
    OPT_OPENSOCKETFUNCTION         = C.CURLOPT_OPENSOCKETFUNCTION
    OPT_OPENSOCKETDATA             = C.CURLOPT_OPENSOCKETDATA
    OPT_COPYPOSTFIELDS             = C.CURLOPT_COPYPOSTFIELDS
    OPT_PROXY_TRANSFER_MODE        = C.CURLOPT_PROXY_TRANSFER_MODE
    OPT_SEEKFUNCTION               = C.CURLOPT_SEEKFUNCTION
    OPT_SEEKDATA                   = C.CURLOPT_SEEKDATA
    OPT_CRLFILE                    = C.CURLOPT_CRLFILE
    OPT_ISSUERCERT                 = C.CURLOPT_ISSUERCERT
    OPT_ADDRESS_SCOPE              = C.CURLOPT_ADDRESS_SCOPE
    OPT_CERTINFO                   = C.CURLOPT_CERTINFO
    OPT_USERNAME                   = C.CURLOPT_USERNAME
    OPT_PASSWORD                   = C.CURLOPT_PASSWORD
    OPT_PROXYUSERNAME              = C.CURLOPT_PROXYUSERNAME
    OPT_PROXYPASSWORD              = C.CURLOPT_PROXYPASSWORD
    OPT_NOPROXY                    = C.CURLOPT_NOPROXY
    OPT_TFTP_BLKSIZE               = C.CURLOPT_TFTP_BLKSIZE
    OPT_SOCKS5_GSSAPI_SERVICE      = C.CURLOPT_SOCKS5_GSSAPI_SERVICE
    OPT_SOCKS5_GSSAPI_NEC          = C.CURLOPT_SOCKS5_GSSAPI_NEC
    OPT_PROTOCOLS                  = C.CURLOPT_PROTOCOLS
    OPT_REDIR_PROTOCOLS            = C.CURLOPT_REDIR_PROTOCOLS
    OPT_SSH_KNOWNHOSTS             = C.CURLOPT_SSH_KNOWNHOSTS
    OPT_SSH_KEYFUNCTION            = C.CURLOPT_SSH_KEYFUNCTION
    OPT_SSH_KEYDATA                = C.CURLOPT_SSH_KEYDATA
    OPT_MAIL_FROM                  = C.CURLOPT_MAIL_FROM
    OPT_MAIL_RCPT                  = C.CURLOPT_MAIL_RCPT
    OPT_FTP_USE_PRET               = C.CURLOPT_FTP_USE_PRET
    OPT_RTSP_REQUEST               = C.CURLOPT_RTSP_REQUEST
    OPT_RTSP_SESSION_ID            = C.CURLOPT_RTSP_SESSION_ID
    OPT_RTSP_STREAM_URI            = C.CURLOPT_RTSP_STREAM_URI
    OPT_RTSP_TRANSPORT             = C.CURLOPT_RTSP_TRANSPORT
    OPT_RTSP_CLIENT_CSEQ           = C.CURLOPT_RTSP_CLIENT_CSEQ
    OPT_RTSP_SERVER_CSEQ           = C.CURLOPT_RTSP_SERVER_CSEQ
    OPT_INTERLEAVEDATA             = C.CURLOPT_INTERLEAVEDATA
    OPT_INTERLEAVEFUNCTION         = C.CURLOPT_INTERLEAVEFUNCTION
    OPT_WILDCARDMATCH              = C.CURLOPT_WILDCARDMATCH
    OPT_CHUNK_BGN_FUNCTION         = C.CURLOPT_CHUNK_BGN_FUNCTION
    OPT_CHUNK_END_FUNCTION         = C.CURLOPT_CHUNK_END_FUNCTION
    OPT_FNMATCH_FUNCTION           = C.CURLOPT_FNMATCH_FUNCTION
    OPT_CHUNK_DATA                 = C.CURLOPT_CHUNK_DATA
    OPT_FNMATCH_DATA               = C.CURLOPT_FNMATCH_DATA
    OPT_RESOLVE                    = C.CURLOPT_RESOLVE
    OPT_TLSAUTH_USERNAME           = C.CURLOPT_TLSAUTH_USERNAME
    OPT_TLSAUTH_PASSWORD           = C.CURLOPT_TLSAUTH_PASSWORD
    OPT_TLSAUTH_TYPE               = C.CURLOPT_TLSAUTH_TYPE
    OPT_TRANSFER_ENCODING          = C.CURLOPT_TRANSFER_ENCODING
    OPT_CLOSESOCKETFUNCTION        = C.CURLOPT_CLOSESOCKETFUNCTION
    OPT_CLOSESOCKETDATA            = C.CURLOPT_CLOSESOCKETDATA
    OPT_GSSAPI_DELEGATION          = C.CURLOPT_GSSAPI_DELEGATION
    OPT_DNS_SERVERS                = C.CURLOPT_DNS_SERVERS
    OPT_ACCEPTTIMEOUT_MS           = C.CURLOPT_ACCEPTTIMEOUT_MS
    OPT_TCP_KEEPALIVE              = C.CURLOPT_TCP_KEEPALIVE
    OPT_TCP_KEEPIDLE               = C.CURLOPT_TCP_KEEPIDLE
    OPT_TCP_KEEPINTVL              = C.CURLOPT_TCP_KEEPINTVL
    OPT_SSL_OPTIONS                = C.CURLOPT_SSL_OPTIONS
    OPT_MAIL_AUTH                  = C.CURLOPT_MAIL_AUTH
    OPT_SASL_IR                    = C.CURLOPT_SASL_IR
    OPT_XFERINFOFUNCTION           = C.CURLOPT_XFERINFOFUNCTION
    OPT_XOAUTH2_BEARER             = C.CURLOPT_XOAUTH2_BEARER
    OPT_DNS_INTERFACE              = C.CURLOPT_DNS_INTERFACE
    OPT_DNS_LOCAL_IP4              = C.CURLOPT_DNS_LOCAL_IP4
    OPT_DNS_LOCAL_IP6              = C.CURLOPT_DNS_LOCAL_IP6
    OPT_LOGIN_OPTIONS              = C.CURLOPT_LOGIN_OPTIONS
    OPT_SSL_ENABLE_NPN             = C.CURLOPT_SSL_ENABLE_NPN
    OPT_SSL_ENABLE_ALPN            = C.CURLOPT_SSL_ENABLE_ALPN
    OPT_EXPECT_100_TIMEOUT_MS      = C.CURLOPT_EXPECT_100_TIMEOUT_MS
    OPT_PROXYHEADER                = C.CURLOPT_PROXYHEADER
    OPT_HEADEROPT                  = C.CURLOPT_HEADEROPT
    OPT_PINNEDPUBLICKEY            = C.CURLOPT_PINNEDPUBLICKEY
    OPT_UNIX_SOCKET_PATH           = C.CURLOPT_UNIX_SOCKET_PATH
    OPT_SSL_VERIFYSTATUS           = C.CURLOPT_SSL_VERIFYSTATUS
    OPT_SSL_FALSESTART             = C.CURLOPT_SSL_FALSESTART
    OPT_PATH_AS_IS                 = C.CURLOPT_PATH_AS_IS
    OPT_PROXY_SERVICE_NAME         = C.CURLOPT_PROXY_SERVICE_NAME
    OPT_SERVICE_NAME               = C.CURLOPT_SERVICE_NAME
    OPT_PIPEWAIT                   = C.CURLOPT_PIPEWAIT
    OPT_DEFAULT_PROTOCOL           = C.CURLOPT_DEFAULT_PROTOCOL
    OPT_STREAM_WEIGHT              = C.CURLOPT_STREAM_WEIGHT
    OPT_STREAM_DEPENDS             = C.CURLOPT_STREAM_DEPENDS
    OPT_STREAM_DEPENDS_E           = C.CURLOPT_STREAM_DEPENDS_E
    OPT_TFTP_NO_OPTIONS            = C.CURLOPT_TFTP_NO_OPTIONS
    OPT_CONNECT_TO                 = C.CURLOPT_CONNECT_TO
    OPT_TCP_FASTOPEN               = C.CURLOPT_TCP_FASTOPEN
    OPT_KEEP_SENDING_ON_ERROR      = C.CURLOPT_KEEP_SENDING_ON_ERROR
    OPT_PROXY_CAINFO               = C.CURLOPT_PROXY_CAINFO
    OPT_PROXY_CAPATH               = C.CURLOPT_PROXY_CAPATH
    OPT_PROXY_SSL_VERIFYPEER       = C.CURLOPT_PROXY_SSL_VERIFYPEER
    OPT_PROXY_SSL_VERIFYHOST       = C.CURLOPT_PROXY_SSL_VERIFYHOST
    OPT_PROXY_SSLVERSION           = C.CURLOPT_PROXY_SSLVERSION
    OPT_PROXY_TLSAUTH_USERNAME     = C.CURLOPT_PROXY_TLSAUTH_USERNAME
    OPT_PROXY_TLSAUTH_PASSWORD     = C.CURLOPT_PROXY_TLSAUTH_PASSWORD
    OPT_PROXY_TLSAUTH_TYPE         = C.CURLOPT_PROXY_TLSAUTH_TYPE
    OPT_PROXY_SSLCERT              = C.CURLOPT_PROXY_SSLCERT
    OPT_PROXY_SSLCERTTYPE          = C.CURLOPT_PROXY_SSLCERTTYPE
    OPT_PROXY_SSLKEY               = C.CURLOPT_PROXY_SSLKEY
    OPT_PROXY_SSLKEYTYPE           = C.CURLOPT_PROXY_SSLKEYTYPE
    OPT_PROXY_KEYPASSWD            = C.CURLOPT_PROXY_KEYPASSWD
    OPT_PROXY_SSL_CIPHER_LIST      = C.CURLOPT_PROXY_SSL_CIPHER_LIST
    OPT_PROXY_CRLFILE              = C.CURLOPT_PROXY_CRLFILE
    OPT_PROXY_SSL_OPTIONS          = C.CURLOPT_PROXY_SSL_OPTIONS
    OPT_PRE_PROXY                  = C.CURLOPT_PRE_PROXY
    OPT_PROXY_PINNEDPUBLICKEY      = C.CURLOPT_PROXY_PINNEDPUBLICKEY
    OPT_ABSTRACT_UNIX_SOCKET       = C.CURLOPT_ABSTRACT_UNIX_SOCKET
    OPT_SUPPRESS_CONNECT_HEADERS   = C.CURLOPT_SUPPRESS_CONNECT_HEADERS
    OPT_REQUEST_TARGET             = C.CURLOPT_REQUEST_TARGET
    OPT_SOCKS5_AUTH                = C.CURLOPT_SOCKS5_AUTH
    OPT_SSH_COMPRESSION            = C.CURLOPT_SSH_COMPRESSION
    OPT_MIMEPOST                   = C.CURLOPT_MIMEPOST
    OPT_POST301                    = C.CURLOPT_POST301
    OPT_SSLKEYPASSWD               = C.CURLOPT_SSLKEYPASSWD
    OPT_FTPAPPEND                  = C.CURLOPT_FTPAPPEND
    OPT_FTPLISTONLY                = C.CURLOPT_FTPLISTONLY
    OPT_FTP_SSL                    = C.CURLOPT_FTP_SSL
    OPT_SSLCERTPASSWD              = C.CURLOPT_SSLCERTPASSWD
    OPT_KRB4LEVEL                  = C.CURLOPT_KRB4LEVEL
    OPT_RTSPHEADER                 = C.CURLOPT_RTSPHEADER
)

easy.Setopt(flag, ...)

const (
    INFO_TEXT                      = C.CURLINFO_TEXT
    INFO_EFFECTIVE_URL             = C.CURLINFO_EFFECTIVE_URL
    INFO_RESPONSE_CODE             = C.CURLINFO_RESPONSE_CODE
    INFO_TOTAL_TIME                = C.CURLINFO_TOTAL_TIME
    INFO_NAMELOOKUP_TIME           = C.CURLINFO_NAMELOOKUP_TIME
    INFO_CONNECT_TIME              = C.CURLINFO_CONNECT_TIME
    INFO_PRETRANSFER_TIME          = C.CURLINFO_PRETRANSFER_TIME
    INFO_SIZE_UPLOAD               = C.CURLINFO_SIZE_UPLOAD
    INFO_SIZE_UPLOAD_T             = C.CURLINFO_SIZE_UPLOAD_T
    INFO_SIZE_DOWNLOAD             = C.CURLINFO_SIZE_DOWNLOAD
    INFO_SIZE_DOWNLOAD_T           = C.CURLINFO_SIZE_DOWNLOAD_T
    INFO_SPEED_DOWNLOAD            = C.CURLINFO_SPEED_DOWNLOAD
    INFO_SPEED_DOWNLOAD_T          = C.CURLINFO_SPEED_DOWNLOAD_T
    INFO_SPEED_UPLOAD              = C.CURLINFO_SPEED_UPLOAD
    INFO_SPEED_UPLOAD_T            = C.CURLINFO_SPEED_UPLOAD_T
    INFO_HEADER_SIZE               = C.CURLINFO_HEADER_SIZE
    INFO_REQUEST_SIZE              = C.CURLINFO_REQUEST_SIZE
    INFO_SSL_VERIFYRESULT          = C.CURLINFO_SSL_VERIFYRESULT
    INFO_FILETIME                  = C.CURLINFO_FILETIME
    INFO_CONTENT_LENGTH_DOWNLOAD   = C.CURLINFO_CONTENT_LENGTH_DOWNLOAD
    INFO_CONTENT_LENGTH_DOWNLOAD_T = C.CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
    INFO_CONTENT_LENGTH_UPLOAD     = C.CURLINFO_CONTENT_LENGTH_UPLOAD
    INFO_CONTENT_LENGTH_UPLOAD_T   = C.CURLINFO_CONTENT_LENGTH_UPLOAD_T
    INFO_STARTTRANSFER_TIME        = C.CURLINFO_STARTTRANSFER_TIME
    INFO_CONTENT_TYPE              = C.CURLINFO_CONTENT_TYPE
    INFO_REDIRECT_TIME             = C.CURLINFO_REDIRECT_TIME
    INFO_REDIRECT_COUNT            = C.CURLINFO_REDIRECT_COUNT
    INFO_PRIVATE                   = C.CURLINFO_PRIVATE
    INFO_HTTP_CONNECTCODE          = C.CURLINFO_HTTP_CONNECTCODE
    INFO_HTTPAUTH_AVAIL            = C.CURLINFO_HTTPAUTH_AVAIL
    INFO_PROXYAUTH_AVAIL           = C.CURLINFO_PROXYAUTH_AVAIL
    INFO_OS_ERRNO                  = C.CURLINFO_OS_ERRNO
    INFO_NUM_CONNECTS              = C.CURLINFO_NUM_CONNECTS
    INFO_SSL_ENGINES               = C.CURLINFO_SSL_ENGINES
    INFO_COOKIELIST                = C.CURLINFO_COOKIELIST
    INFO_LASTSOCKET                = C.CURLINFO_LASTSOCKET
    INFO_FTP_ENTRY_PATH            = C.CURLINFO_FTP_ENTRY_PATH
    INFO_REDIRECT_URL              = C.CURLINFO_REDIRECT_URL
    INFO_PRIMARY_IP                = C.CURLINFO_PRIMARY_IP
    INFO_APPCONNECT_TIME           = C.CURLINFO_APPCONNECT_TIME
    INFO_CERTINFO                  = C.CURLINFO_CERTINFO
    INFO_CONDITION_UNMET           = C.CURLINFO_CONDITION_UNMET
    INFO_RTSP_SESSION_ID           = C.CURLINFO_RTSP_SESSION_ID
    INFO_RTSP_CLIENT_CSEQ          = C.CURLINFO_RTSP_CLIENT_CSEQ
    INFO_RTSP_SERVER_CSEQ          = C.CURLINFO_RTSP_SERVER_CSEQ
    INFO_RTSP_CSEQ_RECV            = C.CURLINFO_RTSP_CSEQ_RECV
    INFO_PRIMARY_PORT              = C.CURLINFO_PRIMARY_PORT
    INFO_LOCAL_IP                  = C.CURLINFO_LOCAL_IP
    INFO_LOCAL_PORT                = C.CURLINFO_LOCAL_PORT
    INFO_TLS_SESSION               = C.CURLINFO_TLS_SESSION
    INFO_ACTIVESOCKET              = C.CURLINFO_ACTIVESOCKET
    INFO_TLS_SSL_PTR               = C.CURLINFO_TLS_SSL_PTR
    INFO_HTTP_VERSION              = C.CURLINFO_HTTP_VERSION
    INFO_PROXY_SSL_VERIFYRESULT    = C.CURLINFO_PROXY_SSL_VERIFYRESULT
    INFO_PROTOCOL                  = C.CURLINFO_PROTOCOL
    INFO_SCHEME                    = C.CURLINFO_SCHEME
    INFO_LASTONE                   = C.CURLINFO_LASTONE
    INFO_HTTP_CODE                 = C.CURLINFO_HTTP_CODE
)

easy.Getinfo(flag)

const (
    AUTH_NONE         = C.CURLAUTH_NONE & (1<<32 - 1)
    AUTH_BASIC        = C.CURLAUTH_BASIC & (1<<32 - 1)
    AUTH_DIGEST       = C.CURLAUTH_DIGEST & (1<<32 - 1)
    AUTH_NEGOTIATE    = C.CURLAUTH_NEGOTIATE & (1<<32 - 1)
    AUTH_GSSNEGOTIATE = C.CURLAUTH_GSSNEGOTIATE & (1<<32 - 1)
    AUTH_GSSAPI       = C.CURLAUTH_GSSAPI & (1<<32 - 1)
    AUTH_NTLM         = C.CURLAUTH_NTLM & (1<<32 - 1)
    AUTH_DIGEST_IE    = C.CURLAUTH_DIGEST_IE & (1<<32 - 1)
    AUTH_NTLM_WB      = C.CURLAUTH_NTLM_WB & (1<<32 - 1)
    AUTH_ONLY         = C.CURLAUTH_ONLY & (1<<32 - 1)
    AUTH_ANY          = C.CURLAUTH_ANY & (1<<32 - 1)
    AUTH_ANYSAFE      = C.CURLAUTH_ANYSAFE & (1<<32 - 1)
)

Auth

const (
    SSLOPT_ALLOW_BEAST = 1
)

for easy.Setopt(OPT_SSL_OPTIONS, flag)

func FreeCurlString Uses

func FreeCurlString(s CurlString)

func Getdate Uses

func Getdate(date string) *time.Time

curl_getdate - Convert a date string to number of seconds since January 1, 1970 In golang, we convert it to a *time.Time

func GlobalCleanup Uses

func GlobalCleanup()

curl_global_cleanup - global libcurl cleanup

func GlobalInit Uses

func GlobalInit(flags int) error

curl_global_init - Global libcurl initialisation

func SetLogLevel Uses

func SetLogLevel(levelName string)

SetLogLevel changes the log level which determines the granularity of the messages that are logged. Available log levels are: "DEBUG", "INFO", "WARN", "ERROR" and "DEFAULT_LOG_LEVEL".

func Version Uses

func Version() string

curl_version - returns the libcurl version string

type CURL Uses

type CURL struct {
    // contains filtered or unexported fields
}

curl_easy interface

func EasyInit Uses

func EasyInit() *CURL

curl_easy_init - Start a libcurl easy session

func (*CURL) Cleanup Uses

func (curl *CURL) Cleanup()

curl_easy_cleanup - End a libcurl easy session

func (*CURL) Duphandle Uses

func (curl *CURL) Duphandle() *CURL

curl_easy_duphandle - Clone a libcurl session handle

func (*CURL) Escape Uses

func (curl *CURL) Escape(url string) string

curl_easy_escape - URL encodes the given string

func (*CURL) GetHandle Uses

func (curl *CURL) GetHandle() unsafe.Pointer

func (*CURL) Getinfo Uses

func (curl *CURL) Getinfo(info CurlInfo) (ret interface{}, err error)

curl_easy_getinfo - extract information from a curl handle

func (*CURL) MallocFreeAfter Uses

func (curl *CURL) MallocFreeAfter(from int)

func (*CURL) MallocGetPos Uses

func (curl *CURL) MallocGetPos() int

func (*CURL) Pause Uses

func (curl *CURL) Pause(bitmask int) error

curl_easy_pause - pause and unpause a connection

func (*CURL) Perform Uses

func (curl *CURL) Perform() error

curl_easy_perform - Perform a file transfer

func (*CURL) Recv Uses

func (curl *CURL) Recv(buffer []byte) (int, error)

curl_easy_recv - receives raw data on an "easy" connection

func (*CURL) Reset Uses

func (curl *CURL) Reset()

curl_easy_reset - reset all options of a libcurl session handle

func (*CURL) Send Uses

func (curl *CURL) Send(buffer []byte) (int, error)

curl_easy_send - sends raw data over an "easy" connection

func (*CURL) Setopt Uses

func (curl *CURL) Setopt(opt int, param interface{}) error

curl_easy_setopt - set options for a curl easy handle WARNING: a function pointer is &fun, but function addr is reflect.ValueOf(fun).Pointer()

func (*CURL) Unescape Uses

func (curl *CURL) Unescape(url string) string

curl_easy_unescape - URL decodes the given string

type CURLM Uses

type CURLM struct {
    // contains filtered or unexported fields
}

func MultiInit Uses

func MultiInit() *CURLM

curl_multi_init - create a multi handle

func (*CURLM) AddHandle Uses

func (mcurl *CURLM) AddHandle(easy *CURL) error

curl_multi_add_handle - add an easy handle to a multi session

func (*CURLM) Cleanup Uses

func (mcurl *CURLM) Cleanup() error

curl_multi_cleanup - close down a multi session

func (*CURLM) Fdset Uses

func (mcurl *CURLM) Fdset(rset, wset, eset *syscall.FdSet) (int, error)

func (*CURLM) Info_read Uses

func (mcurl *CURLM) Info_read() (*CURLMessage, int)

func (*CURLM) Perform Uses

func (mcurl *CURLM) Perform() (int, error)

curl_multi_perform - reads/writes available data from each easy handle

func (*CURLM) RemoveHandle Uses

func (mcurl *CURLM) RemoveHandle(easy *CURL) error

curl_multi_remove_handle - remove an easy handle from a multi session

func (*CURLM) Setopt Uses

func (mcurl *CURLM) Setopt(opt int, param interface{}) error

func (*CURLM) Timeout Uses

func (mcurl *CURLM) Timeout() (int, error)

type CURLMessage Uses

type CURLMessage struct {
    Msg         CurlMultiMsg
    Easy_handle *CURL
    Data        [unsafe.Sizeof(dummy)]byte
}

type CURLSH Uses

type CURLSH struct {
    // contains filtered or unexported fields
}

func ShareInit Uses

func ShareInit() *CURLSH

func (*CURLSH) Cleanup Uses

func (shcurl *CURLSH) Cleanup() error

func (*CURLSH) Setopt Uses

func (shcurl *CURLSH) Setopt(opt int, param interface{}) error

type CurlError Uses

type CurlError C.CURLcode

func (CurlError) Error Uses

func (e CurlError) Error() string

type CurlInfo Uses

type CurlInfo C.CURLINFO

type CurlMultiError Uses

type CurlMultiError C.CURLMcode

func (CurlMultiError) Error Uses

func (e CurlMultiError) Error() string

type CurlMultiMsg Uses

type CurlMultiMsg C.CURLMSG

type CurlShareError Uses

type CurlShareError C.CURLMcode

implement os.Error interface

func (CurlShareError) Error Uses

func (e CurlShareError) Error() string

type CurlString Uses

type CurlString *C.char

func NewCurlString Uses

func NewCurlString(s string) CurlString

type Form Uses

type Form struct {
    // contains filtered or unexported fields
}

A multipart/formdata HTTP POST form

func NewForm Uses

func NewForm() *Form

func (*Form) Add Uses

func (form *Form) Add(name string, content interface{}) error

func (*Form) AddFile Uses

func (form *Form) AddFile(name, filename string) error

func (*Form) AddFromFile Uses

func (form *Form) AddFromFile(name, filename string)

func (*Form) AddWithType Uses

func (form *Form) AddWithType(name string, content interface{}, content_type string) error

type VersionInfoData Uses

type VersionInfoData struct {
    Age C.CURLversion
    // age >= 0
    Version       string
    VersionNum    uint
    Host          string
    Features      int
    SslVersion    string
    SslVersionNum int
    LibzVersion   string
    Protocols     []string
    // age >= 1
    Ares    string
    AresNum int
    // age >= 2
    Libidn string
    // age >= 3
    IconvVerNum   int
    LibsshVersion string
}

func VersionInfo Uses

func VersionInfo(ver C.CURLversion) *VersionInfoData

curl_version_info - returns run-time libcurl version info

Directories

PathSynopsis
examplesA sample program to show how to use PROGRESS callback to calculate downloading percentage and speed

Package curl imports 9 packages (graph) and is imported by 22 packages. Updated 2018-03-14. Refresh now. Tools for package owners.