You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

On this Page:

Related Pages:
In the component diagram, these options can be set on the URL adapter alias. Use tagged value options in order to set cURL options.
If you want to specify multiple cURL options, list them separated by ',' (comma) or ' ' (blank). If an option allows for multiple values, you can concatenate them by using the '|' (pipe) operator.

Examples:

  • CURLOPT_CONNECTTIMEOUT=60 (see note below for a hint on this option)
  • CURLOPT_CONNECTTIMEOUT=60, E2E_FORBID_REUSE=true
  • CURLOPT_CONNECTTIMEOUT=60 E2E_FORBID_REUSE=true
  • CURLOPT_HTTPAUTH=CURLAUTH_NTLM|CURLAUTH_NEGOTIATE, E2E_FORBID_REUSE=true

Alternatively it is possible to set the cURL options dynamically in an activity diagram. For that purpose, input an object of type array with name options directly into the URL adapter. The array element must be of class Option which is located in package Base Components/Add Ons/URL. Set the cURL option you want to set to attribute name and the value to attribute value.

Example:

Example File (Builder project Add-ons/URL):

<bridgeDocPath>\\Add-ons\URL\uml\urlCurl.xml

E2E cURL Options

OptionData TypeRemarks
E2E_FORBID_REUSEBooleanIf E2E_FORBID_REUSE is "true" for a SOAP adapter, then all curl connections are closed after the request. This also affects URL adapter options, if there are any.

Native cURL Options

Internally, the URL adapter uses cURL. The following options - listed in alphabetical order - are currently supported (see the cURL documentation for more details).

Legend:(tick) Option is recognized and forwarded to cURL
(warning) Option is recognized and forwarded to cURL, but may overwrite built-in URL adapter functionality
(error) Option is not supported and not forwarded to cURL

All cURL data types can be set by using Bridge Strings:

cURL Data TypeBridge TypeComment
Array(String)Array of StringsYou must use a cast() to use this type, because the URL option value is of type String.
Blobn/aIs not supported.
BooleanStringYou can use false or 0 for false and true or 1 for true.
Callbackn/aIs not supported.
ConstantStringUse the defined strings from cURL. For example, for the option CURLOPT_FTP_FILEMETHOD you can use CURLFTPMETHOD_MULTICWD, CURLFTPMETHOD_NOCWD or CURLFTPMETHOD_SINGLECWD. The xUML Runtime will convert the strings to numbers.
FileHandlen/aIs not supported.
IntegerStringString will be converted to a number.
StringString
OptionData TypeSupportedSupported cURL Constants / Remarks
CURLOPT_AUTOREFERERBoolean(tick)
CURLOPT_BUFFERSIZEInteger(tick)
CURLOPT_CAINFOString(warning)
CURLOPT_CAPATHString(tick)


CURLOPT_CONNECTTIMEOUT

Integer(tick)

in seconds (see cURL documentation).

This timeout applies to the connection phase of the TCP/IP protocol only. If you want to use timeout limiting the whole interaction time, use CURLOPT_TIMEOUT.

CURLOPT_CONNECT_ONLYBoolean(tick)
CURLOPT_CRLFBoolean(tick)
CURLOPT_CONV_FROM_NETWORK_FUNCTION Callback(error)
CURLOPT_CONV_FROM_UTF8_FUNCTIONCallback(error)
CURLOPT_CONV_TO_NETWORK_FUNCTIONCallback(error)
CURLOPT_COOKIEString(tick)
CURLOPT_COOKIEFILEString(tick)
CURLOPT_COOKIEJARString(tick)
CURLOPT_COOKIELISTString(tick)
CURLOPT_COOKIESESSIONBoolean(tick)
CURLOPT_CUSTOMREQUESTString(warning)
CURLOPT_DEBUGDATABlob(error)
CURLOPT_DEBUGFUNCTIONCallback(error)
CURLOPT_DNS_CACHE_TIMEOUTInteger(tick)in seconds (see cURL documentation).
CURLOPT_DNS_USE_GLOBAL_CACHEBoolean(tick)
CURLOPT_EGDSOCKETString(tick)
CURLOPT_ENCODINGString(tick)
CURLOPT_ERRORBUFFERBlob(error)
CURLOPT_FAILONERRORBoolean(warning)
CURLOPT_FILETIMEBoolean(tick)
CURLOPT_FORBID_REUSEBoolean(tick)
CURLOPT_FRESH_CONNECTBoolean(tick)
CURLOPT_FTP_ACCOUNTString(tick)
CURLOPT_FTP_ALTERNATIVE_TO_USERString(tick)
CURLOPT_FTPAPPENDBoolean(tick)
CURLOPT_FTP_CREATE_MISSING_DIRSBoolean(tick)
CURLOPT_FTP_FILEMETHODConstant(tick)
CURLFTPMETHOD_DEFAULT
Same behavior as if no method is specified.
CURLFTPMETHOD_MULTICWD
cURL does a single CWD operation for each path part in the given URL.
CURLFTPMETHOD_NOCWD
cURL does no CWD at all.
CURLFTPMETHOD_SINGLECWD
libccURL does one CWD with the full target directory and then operates on the file "normally".
CURLOPT_FTPLISTONLYBoolean(tick)
CURLOPT_FTP_RESPONSE_TIMEOUTInteger(tick)in seconds (see cURL documentation).
CURLOPT_FTPPORTString(tick)
CURLOPT_FTP_SKIP_PASV_IPBoolean(tick)
CURLOPT_FTP_SSLConstant(tick)Deprecated. Use CURLOPT_USE_SSL instead.
CURLOPT_FTP_SSL_CCCBoolean(tick)false represents CURLFTPSSL_CCC_NONE, true is for CURLFTPSSL_CCC_PASSIVE.
CURLOPT_FTPSSLAUTHConstant(tick)
CURLFTPAUTH_DEFAULT
Allow cURL to decide.
CURLFTPAUTH_SSL
Try SSL first, and only if that fails try TLS.
CURLFTPAUTH_TLS
Try TLS first, and only if that fails try SSL.
CURLOPT_FTP_USE_EPRTBoolean(tick)
CURLOPT_FTP_USE_EPSVBoolean(tick)
CURLOPT_FOLLOWLOCATIONBoolean(warning)
CURLOPT_HEADERBoolean(tick)
CURLOPT_HEADERDATABlob(error)
CURLOPT_HEADERFUNCTIONCallback(error)
CURLOPT_HTTPAUTHConstant(tick)CURLAUTH_BASICbasic authentication
CURLAUTH_DIGESTdigest authentication
CURLAUTH_NEGOTIATEnegotiate (SPNEGO) authentication
CURLAUTH_GSSNEGOTIATEdeprecated, use CURLAUTH_NEGOTIATE instead
CURLAUTH_NTLMNTLM authentication
CURLAUTH_ANY
cURL will automatically select the one it finds most secure.
CURLAUTH_ANYSAFE
All except basic authentication. cURL will automatically select the one it finds most secure.
CURLOPT_HTTPGETBoolean(tick)
CURLOPT_HTTPHEADERArray(String)(warning)
CURLOPT_HTTPPOSTOther(error)
CURLOPT_HTTPPROXYTUNNELBoolean(tick)
CURLOPT_HTTP_VERSIONConstant(tick)
CURL_HTTP_VERSION_NONE
cURL will use whatever HTTP version it thinks fit.
CURL_HTTP_VERSION_1_0
Enforce HTTP 1.0 requests.
CURL_HTTP_VERSION_1_1
Enforce HTTP 1.1 requests.
CURLOPT_HTTP200ALIASESArray(String)(tick)
CURLOPT_IGNORE_CONTENT_LENGTHBoolean(tick)
CURLOPT_INFILESIZEInteger(warning)
CURLOPT_INFILESIZE_LARGEInteger(warning)
CURLOPT_INTERFACEString(warning)
CURLOPT_IOCTLDATABlob(error)
CURLOPT_IOCTLFUNCTIONCallback(error)
CURLOPT_IPRESOLVEConstant(tick)
CURL_IPRESOLVE_WHATEVER
Resolves addresses to all IP versions that your system allows.
CURL_IPRESOLVE_V4
Resolve to IPv4 addresses.
CURL_IPRESOLVE_V6
Resolve to IPv6 addresses.
CURLOPT_KEYPASSWDString(tick)
CURLOPT_KRB4LEVELString(tick)
CURLOPT_LOCALPORTInteger(tick)
CURLOPT_LOCALPORTRANGEInteger(tick)
CURLOPT_LOW_SPEED_LIMITInteger(tick)
CURLOPT_LOW_SPEED_TIMEInteger(tick)in seconds (see cURL documentation).
CURLOPT_MAXCONNECTSInteger(tick)
CURLOPT_MAXFILESIZEInteger(tick)
CURLOPT_MAXFILESIZE_LARGEInteger(tick)
CURLOPT_MAX_RECV_SPEED_LARGEInteger(tick)
CURLOPT_MAXREDIRSInteger(warning)
CURLOPT_MAX_SEND_SPEED_LARGEInteger(tick)
CURLOPT_NETRCConstant(tick)
 
 
CURL_NETRC_OPTIONALThe use of your ~/.netrc file is optional, and information in the URL is to be preferred.
CURL_NETRC_IGNORED
cURL will ignore the file and use only the information in the URL.
CURL_NETRC_REQUIRED
The use of the file is required, the information in the URL is ignored.
CURLOPT_NETRC_FILEString(tick)
CURLOPT_NOBODYBoolean(tick)
CURLOPT_NOPROGRESSBoolean(tick)
CURLOPT_NOSIGNALBoolean(warning)
CURLOPT_QUOTEArray(String)(tick)
CURLOPT_PORTInteger(tick)
CURLOPT_POSTBoolean(tick)
CURLOPT_POSTFIELDSBlob(error)
CURLOPT_POSTFIELDSIZEInteger(tick)
CURLOPT_POSTFIELDSIZE_LARGEInteger(tick)
CURLOPT_POSTQUOTEArray(String)(warning)
CURLOPT_PRIVATEBlob(error)
CURLOPT_PREQUOTEArray(String)(tick)
CURLOPT_PROGRESSDATABlob(error)
CURLOPT_PROGRESSFUNCTIONCallback(error)
CURLOPT_PROXYString(warning)
CURLOPT_PROXYAUTHConstant(tick)CURLAUTH_BASICbasic authentication
CURLAUTH_DIGESTdigest authentication
CURLAUTH_NEGOTIATEnegotiate (SPNEGO) authentication
CURLAUTH_GSSNEGOTIATEdeprecated, use CURLAUTH_NEGOTIATE instead
CURLAUTH_NTLMNTLM authentication
CURLAUTH_ANY
cURL will automatically select the one it finds most secure.
CURLAUTH_ANYSAFE
All except basic authentication. cURL will automatically select the one it finds most secure.
CURLOPT_PROXYPORTInteger(warning)
CURLOPT_PROXYTYPEConstant(warning)
 
 
CURLPROXY_HTTP
HTTP proxy
CURLPROXY_SOCKS4
SOCKS4 proxy
CURLPROXY_SOCKS5
SOCKS5 proxy
CURLOPT_PROXYUSERPWDString(warning)
CURLOPT_PUTBoolean(tick)
CURLOPT_RANDOM_FILEString(tick)
CURLOPT_RANGEString(tick)
CURLOPT_READDATABlob(error)
CURLOPT_READFUNCTIONCallback(error)
CURLOPT_REFERERString(tick)
CURLOPT_RESUME_FROMInteger(tick)
CURLOPT_RESUME_FROM_LARGEInteger(tick)
CURLOPT_SSH_AUTH_TYPESConstant(tick)CURLSSH_AUTH_KEYBOARD is not implemented for obvious reasons.
CURLOPT_SSH_PUBLIC_KEYString(tick)
CURLOPT_SSH_PUBLIC_KEY_MD5String(tick)
CURLOPT_SSH_PRIVATE_KEYString(tick)
CURLOPT_SHAREFileHandle(error)
CURLOPT_SSLCERTString(warning)
CURLOPT_SSLCERTTYPEString(warning)
CURLOPT_SSLCERTPASSWDString(tick)
CURLOPT_SSL_CIPHER_LISTString(tick)
CURLOPT_SSL_CTX_DATABlob(error)
CURLOPT_SSL_CTX_FUNCTIONCallback(error)
CURLOPT_SSLENGINEString(tick)
CURLOPT_SSLENGINE_DEFAULTNone(tick)
CURLOPT_SSLKEYString(warning)
CURLOPT_SSLKEYTYPEString(warning)
CURLOPT_SSLKEYPASSWDString(warning)
CURLOPT_SSL_OPTIONSConstant(tick)CURLSSLOPT_ALLOW_BEASTTells libcurl to not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols. See cURL documentation for more.
CURLOPT_SSL_SESSIOID_CACHEBoolean(tick)
CURLOPT_SSL_VERIFYPEERBoolean(warning)
CURLOPT_SSL_VERIFYHOSTInteger(warning)
CURLOPT_SSLVERSIONConstant(tick)
 CURL_SSLVERSION_DEFAULT
Default action. This will attempt to figure out the remote SSL protocol version.
CURL_SSLVERSION_TLSv1
Use TLSv1.x.
CURL_SSLVERSION_SSLv2
Use SSLv2.
CURL_SSLVERSION_SSLv3
Use SSLv3.
CURLOPT_STDERRFileHandle(error)
CURLOPT_TCP_NODELAYBoolean(tick)
CURLOPT_TELNETOPTIONSArray(String)(tick)
CURLOPT_TIMECONDITIONConstant(tick)
CURL_TIMECOND_IFMODSINCE

CURL_TIMECOND_IFUNMODSINCE

CURLOPT_TIMEOUTInteger(tick)in seconds (see cURL documentation).
CURLOPT_TIMEOUT_MSInteger(tick)in milliseconds (see cURL documentation).
CURLOPT_TIMEVALUEInteger(tick)
CURLOPT_TRANSFERTEXTBoolean(tick)
CURLOPT_UNRESTRICTED_AUTHBoolean(tick)
CURLOPT_UPLOADBoolean(warning)
CURLOPT_URLString(warning)
CURLOPT_USE_SSL


Constant


(tick)


CURLUSESSL_NONE  Do not attempt to use SSL.
CURLUSESSL_TRY
Try using SSL, proceed as normal otherwise.
CURLUSESSL_CONTROL
Require SSL for the control connection
CURLUSESSL_ALLRequire SSL for all communication.
CURLOPT_USERAGENTString(tick)
CURLOPT_USERPWDString(warning)
CURLOPT_VERBOSEBoolean(warning)
CURLOPT_WRITEDATABlob(error)
CURLOPT_WRITEFUNCTIONCallback(error)
  • No labels