Skip to main content
Skip table of contents

Setting cURL Options on the URL Adapter

This page explains the URL Adapter in Bridge context. If you were looking for the same information regarding the PAS Designer, refer to URL Adapter in the Designer guide.

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.
BitmaskStringIt is a string containing a string of cURL options separated by the pipe character ("|").
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 / RemarksSince Version
CURLOPT_ACCEPT_ENCODINGString(tick)
Runtime 2020.11

CURLOPT_ACCEPTTIMEOUT_MS

Integer(tick)

Runtime 2020.11

CURLOPT_APPENDString(tick)
Runtime 2020.11
CURLOPT_AUTOREFERERBoolean(tick)

CURLOPT_AWS_SIGV4

String(tick)
Runtime 2021.4
CURLOPT_BUFFERSIZEInteger(tick)

CURLOPT_CAINFOString(warning)

CURLOPT_CAPATHString(tick)

CURLOPT_CA_CACHE_TIMEOUTInteger(tick)In seconds (see cURL documentation).Runtime 2023.2

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_CRLFILEString(tick)
Runtime 2020.11
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_DIRLISTONLYString(tick)
Runtime 2020.11
CURLOPT_DNS_CACHE_TIMEOUTInteger(tick)In seconds (see cURL documentation).
CURLOPT_DNS_USE_GLOBAL_CACHEBoolean(tick)

CURLOPT_DOH_SSL_VERIFYHOSTBoolean(tick)
Runtime 2021.4

CURLOPT_DOH_SSL_VERIFYPEER

Boolean(tick)
Runtime 2021.4

CURLOPT_DOH_SSL_VERIFYSTATUS

Integer(tick)
Runtime 2021.10
CURLOPT_DOH_URLString(tick)
Runtime 2020.11
CURLOPT_EGDSOCKETString(tick)

CURLOPT_ENCODINGString(tick)

CURLOPT_ERRORBUFFERBlob(error)

CURLOPT_EXPECT_100_TIMEOUT_MSInteger(tick)
Runtime 2020.11
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_FTP_USE_PRET

String(tick)
Runtime 2020.11
CURLOPT_FOLLOWLOCATIONBoolean(warning)

CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS

Integer(tick)
Runtime 2020.11
CURLOPT_HAPROXYPROTOCOLString(tick)
Runtime 2020.11
CURLOPT_HEADERBoolean(tick)

CURLOPT_HEADERDATABlob(error)

CURLOPT_HEADERFUNCTIONCallback(error)

CURLOPT_HTTPAUTHConstant(tick)CURLAUTH_ANYcURL will automatically select the one it finds most secure.
CURLAUTH_ANYSAFEall except basic authentication. cURL will automatically select the one it finds most secure.
CURLAUTH_AWS_SIGV4AWS V4 signature (see CURLOPT_AWS_SIGV4). Runtime 2021.4
CURLAUTH_BASICbasic authentication
CURLAUTH_DIGEST
digest authentication
CURLAUTH_GSSNEGOTIATEdeprecated, use CURLAUTH_NEGOTIATE instead
CURLAUTH_NEGOTIATE
negotiate (SPNEGO) authentication
CURLAUTH_NTLM
NTLM authentication
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_ISSUERCERT

String(tick)
Runtime 2020.11
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_MAXAGE_CONN

Integer(tick)
Runtime 2020.11
CURLOPT_MAXCONNECTSInteger(tick)

CURLOPT_MAXFILESIZEInteger(tick)

CURLOPT_MAXFILESIZE_LARGEInteger(tick)

CURLOPT_MAXLIFETIME_CONN

Integer(tick)
Runtime 2022.5
CURLOPT_MAX_RECV_SPEED_LARGEInteger(tick)

CURLOPT_MAXREDIRSInteger(warning)

CURLOPT_MAX_SEND_SPEED_LARGEInteger(tick)

CURLOPT_MIME_OPTIONSConstant(tick)
CURLMIMEOPT_FORMESCAPE
Tells libcurl to escape multipart form field and file names using the backslash-escaping algorithm rather than percent-encoding (HTTP only). See cURL documentation for more.Runtime 2022.5
CURLOPT_NETRCConstant(tick)
          
          
CURL_NETRC_OPTIONAL
The 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_NEW_DIRECTORY_PERMS

Integer(tick)
Runtime 2020.11

CURLOPT_NEW_FILE_PERMS

Integer(tick)
Runtime 2020.11
CURLOPT_NOBODYBoolean(tick)

CURLOPT_NOPROGRESSBoolean(tick)

CURLPOT_NOPROXYString(tick)See cURL documentation.
CURLOPT_NOSIGNALBoolean(warning)

CURLOPT_QUOTEArray(String)(tick)

CURLOPT_PATH_AS_IS

String(tick)
Runtime 2020.11
CURLOPT_PINNEDPUBLICKEYString(tick)
Runtime 2020.11
CURLOPT_PORTInteger(tick)

CURLOPT_POSTBoolean(tick)

CURLOPT_POSTFIELDSBlob(error)

CURLOPT_POSTFIELDSIZEInteger(tick)

CURLOPT_POSTFIELDSIZE_LARGEInteger(tick)

CURLOPT_POSTQUOTEArray(String)(warning)

CURLOPT_POSTREDIR

String(tick)
Runtime 2020.11
CURLOPT_PREQUOTEArray(String)(tick)

CURLOPT_PREREQDATABlob(error)

CURLOPT_PREREQFUNCTIONCallback(error)

CURLOPT_PRIVATEBlob(error)

CURLOPT_PROGRESSDATABlob(error)

CURLOPT_PROGRESSFUNCTIONCallback(error)

CURLOPT_PROTOCOLS_STRString(error)

CURLOPT_PROXYString(warning)

CURLOPT_PROXYAUTHConstant(tick)
CURLAUTH_BASIC
basic authentication
CURLAUTH_DIGEST
digest authentication
CURLAUTH_NEGOTIATE
negotiate (SPNEGO) authentication
CURLAUTH_GSSNEGOTIATE
deprecated, use CURLAUTH_NEGOTIATE instead
CURLAUTH_NTLM
NTLM 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_PROXY_CAINFO

String(tick)
Runtime 2020.11

CURLOPT_PROXY_CAPATH

String(tick)
Runtime 2020.11
CURLOPT_PROXY_CRLFILEString(tick)
Runtime 2020.11

CURLOPT_PROXYHEADER

String(tick)
Runtime 2020.11

CURLOPT_PROXY_ISSUERCERT

String(tick)
Runtime 2021.4

CURLOPT_PROXY_KEYPASSWD

String(tick)
Runtime 2020.11

CURLOPT_PROXYPASSWORD

String(tick)
Runtime 2020.11

CURLOPT_PROXY_PINNEDPUBLICKEY

String(tick)
Runtime 2020.11
CURLOPT_PROXYPORTInteger(warning)

CURLOPT_PROXY_SERVICE_NAME

String(tick)
Runtime 2020.11
CURLOPT_PROXY_SSLCERTString(tick)
Runtime 2020.11

CURLOPT_PROXY_SSLCERTTYPE

String(tick)
Runtime 2020.11

CURLOPT_PROXY_SSL_CIPHER_LIST

String(tick)
Runtime 2020.11

CURLOPT_PROXY_SSLKEY

String(tick)
Runtime 2020.11

CURLOPT_PROXY_SSLKEYTYPE

String(tick)
Runtime 2020.11

CURLOPT_PROXY_SSL_OPTIONS

String(tick)
Runtime 2020.11

CURLOPT_PROXY_SSL_VERIFYHOST

String(tick)
Runtime 2020.11

CURLOPT_PROXY_SSL_VERIFYPEER

String(tick)
Runtime 2020.11

CURLOPT_PROXY_SSLVERSION

String(tick)
Runtime 2020.11

CURLOPT_PROXY_TLS13_CIPHERS

String(tick)
Runtime 2020.11

CURLOPT_PROXY_TRANSFER_MODE

String(tick)
Runtime 2020.11
CURLOPT_PROXYTYPEConstant(warning)
          
          
CURLPROXY_HTTP
HTTP proxy
CURLPROXY_SOCKS4
SOCKS4 proxy
     
CURLPROXY_SOCKS5
SOCKS5 proxy

CURLOPT_PROXYUSERNAME

String(tick)
Runtime 2020.11
CURLOPT_PROXYUSERPWDString(warning)

CURLOPT_PUTBoolean(tick)

CURLOPT_QUICK_EXITBoolean(error)

CURLOPT_RANDOM_FILEString(tick)

CURLOPT_RANGEString(tick)

CURLOPT_READDATABlob(error)

CURLOPT_READFUNCTIONCallback(error)

CURLOPT_REDIR_PROTOCOLS_STRString(error)

CURLOPT_REFERERString(tick)

CURLOPT_RESOLVE

String(tick)
Runtime 2020.11
CURLOPT_RESUME_FROMInteger(tick)

CURLOPT_RESUME_FROM_LARGEInteger(tick)

CURLOPT_SERVER_RESPONSE_TIMEOUT

Integer(tick)
Runtime 2021.4

CURLOPT_SERVICE_NAME

String(tick)
Runtime 2020.11
CURLOPT_SOCKS5_AUTHString(tick)
Runtime 2020.11

CURLOPT_SOCKS5_GSSAPI_NEC

String(tick)
Runtime 2020.11

CURLOPT_SOCKS5_GSSAPI_SERVICE

String(tick)
Runtime 2020.11
CURLOPT_SSH_AUTH_TYPESConstant(tick)CURLSSH_AUTH_KEYBOARD  is not implemented for obvious reasons.
CURLOPT_SSH_HOSTKEYDATABlob(error)

CURLOPT_SSH_HOSTKEYFUNCTIONCallback(error)

CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256String(tick)
Runtime 2022.5
CURLOPT_SSH_PUBLIC_KEYFILEString(tick)

CURLOPT_SSH_PUBLIC_KEY_MD5String(tick)

CURLOPT_SSH_PRIVATE_KEYFILEString(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_BEAST 
Tells 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_VERIFYHOSTInteger(warning)

CURLOPT_SSL_VERIFYPEERBoolean(warning)

CURLOPT_SSL_VERIFYSTATUSInteger(tick)

Runtime 2021.10
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_TIMEVALUE_LARGE

Integer(tick)
Runtime 2020.11

CURLOPT_TLS13_CIPHERS

String(tick)
Runtime 2020.11
CURLOPT_TRANSFERTEXTBoolean(tick)

CURLOPT_UNRESTRICTED_AUTHBoolean(tick)

CURLOPT_UPLOADBoolean(warning)

CURLOPT_URLString(warning)

CURLOPT_USE_SSLConstant(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_ALL
Require SSL for all communication.
CURLOPT_USERAGENTString(tick)


CURLOPT_USERPWDString(warning)


CURLOPT_VERBOSEBoolean(warning)


CURLOPT_WRITEDATABlob(error)


CURLOPT_WRITEFUNCTIONCallback(error)


CURLOPT_WS_OPTIONSBitmask(error)


CURLOPT_XOAUTH2_BEARER

String(tick)

Runtime 2020.11

Related Pages:

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.