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
Option | Data Type | Remarks |
---|---|---|
E2E_FORBID_REUSE | Boolean | If 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: | Option is recognized and forwarded to cURL Option is recognized and forwarded to cURL, but may overwrite built-in URL adapter functionality Option is not supported and not forwarded to cURL |
---|
All cURL data types can be set by using Bridge Strings:
cURL Data Type | Bridge Type | Comment |
---|---|---|
Array(String) | Array of Strings | You must use a cast() to use this type, because the URL option value is of type String. |
Bitmask | String | It is a string containing a string of cURL options separated by the pipe character ("|"). |
Blob | n/a | Is not supported. |
Boolean | String | You can use false or 0 for false and true or 1 for true. |
Callback | n/a | Is not supported. |
Constant | String | Use 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. |
FileHandle | n/a | Is not supported. |
Integer | String | String will be converted to a number. |
String | String |
Option | Data Type | Supported | Supported cURL Constants / Remarks | Since Version | |
---|---|---|---|---|---|
CURLOPT_ACCEPT_ENCODING | String | Runtime 2020.11 | |||
| Integer | Runtime 2020.11 | |||
CURLOPT_APPEND | String | Runtime 2020.11 | |||
CURLOPT_AUTOREFERER | Boolean | ||||
| String | Runtime 2021.4 | |||
CURLOPT_BUFFERSIZE | Integer | ||||
CURLOPT_CAINFO | String | ||||
CURLOPT_CAPATH | String | ||||
CURLOPT_CA_CACHE_TIMEOUT | Integer | In seconds (see cURL documentation). | Runtime 2023.2 | ||
| Integer | 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_CONNECT_ONLY | Boolean | ||||
CURLOPT_CRLF | Boolean | ||||
CURLOPT_CRLFILE | String | Runtime 2020.11 | |||
CURLOPT_CONV_FROM_NETWORK_FUNCTION | Callback | ||||
CURLOPT_CONV_FROM_UTF8_FUNCTION | Callback | ||||
CURLOPT_CONV_TO_NETWORK_FUNCTION | Callback | ||||
CURLOPT_COOKIE | String | ||||
CURLOPT_COOKIEFILE | String | ||||
CURLOPT_COOKIEJAR | String | ||||
CURLOPT_COOKIELIST | String | ||||
CURLOPT_COOKIESESSION | Boolean | ||||
CURLOPT_CUSTOMREQUEST | String | ||||
CURLOPT_DEBUGDATA | Blob | ||||
CURLOPT_DEBUGFUNCTION | Callback | ||||
CURLOPT_DIRLISTONLY | String | Runtime 2020.11 | |||
CURLOPT_DNS_CACHE_TIMEOUT | Integer | In seconds (see cURL documentation). | |||
CURLOPT_DNS_USE_GLOBAL_CACHE | Boolean | ||||
CURLOPT_DOH_SSL_VERIFYHOST | Boolean | Runtime 2021.4 | |||
| Boolean | Runtime 2021.4 | |||
| Integer | Runtime 2021.10 | |||
CURLOPT_DOH_URL | String | Runtime 2020.11 | |||
CURLOPT_EGDSOCKET | String | ||||
CURLOPT_ENCODING | String | ||||
CURLOPT_ERRORBUFFER | Blob | ||||
CURLOPT_EXPECT_100_TIMEOUT_MS | Integer | Runtime 2020.11 | |||
CURLOPT_FAILONERROR | Boolean | ||||
CURLOPT_FILETIME | Boolean | ||||
CURLOPT_FORBID_REUSE | Boolean | ||||
CURLOPT_FRESH_CONNECT | Boolean | ||||
CURLOPT_FTP_ACCOUNT | String | ||||
CURLOPT_FTP_ALTERNATIVE_TO_USER | String | ||||
CURLOPT_FTPAPPEND | Boolean | ||||
CURLOPT_FTP_CREATE_MISSING_DIRS | Boolean | ||||
CURLOPT_FTP_FILEMETHOD | Constant | 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_FTPLISTONLY | Boolean | ||||
CURLOPT_FTP_RESPONSE_TIMEOUT | Integer | In seconds (see cURL documentation). | |||
CURLOPT_FTPPORT | String | ||||
CURLOPT_FTP_SKIP_PASV_IP | Boolean | ||||
CURLOPT_FTP_SSL | Constant | Deprecated. Use CURLOPT_USE_SSL instead. | |||
CURLOPT_FTP_SSL_CCC | Boolean | false represents CURLFTPSSL_CCC_NONE , true is for
CURLFTPSSL_CCC_PASSIVE
. | |||
CURLOPT_FTPSSLAUTH | Constant | 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_EPRT | Boolean | ||||
CURLOPT_FTP_USE_EPSV | Boolean | ||||
| String | Runtime 2020.11 | |||
CURLOPT_FOLLOWLOCATION | Boolean | ||||
| Integer | Runtime 2020.11 | |||
CURLOPT_HAPROXYPROTOCOL | String | Runtime 2020.11 | |||
CURLOPT_HEADER | Boolean | ||||
CURLOPT_HEADERDATA | Blob | ||||
CURLOPT_HEADERFUNCTION | Callback | ||||
CURLOPT_HTTPAUTH | Constant | C URLAUTH_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. | ||||
CURLAUTH_AWS_SIGV4 | AWS V4 signature (see CURLOPT_AWS_SIGV4). | Runtime 2021.4 | |||
CURLAUTH_BASIC | basic authentication | ||||
CURLAUTH_DIGEST | digest authentication | ||||
CURLAUTH_GSSNEGOTIATE | deprecated, use CURLAUTH_NEGOTIATE instead | ||||
CURLAUTH_NEGOTIATE | negotiate (SPNEGO) authentication | ||||
CURLAUTH_NTLM | NTLM authentication | ||||
CURLOPT_HTTPGET | Boolean | ||||
CURLOPT_HTTPHEADER | Array(String) | ||||
CURLOPT_HTTPPOST | Other | ||||
CURLOPT_HTTPPROXYTUNNEL | Boolean | ||||
CURLOPT_HTTP_VERSION | Constant | 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_HTTP200ALIASES | Array(String) | ||||
CURLOPT_IGNORE_CONTENT_LENGTH | Boolean | ||||
CURLOPT_INFILESIZE | Integer | ||||
CURLOPT_INFILESIZE_LARGE | Integer | ||||
CURLOPT_INTERFACE | String | ||||
CURLOPT_IOCTLDATA | Blob | ||||
CURLOPT_IOCTLFUNCTION | Callback | ||||
CURLOPT_IPRESOLVE | Constant | 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. | ||||
| String | Runtime 2020.11 | |||
CURLOPT_KEYPASSWD | String | ||||
CURLOPT_KRB4LEVEL | String | ||||
CURLOPT_LOCALPORT | Integer | ||||
CURLOPT_LOCALPORTRANGE | Integer | ||||
CURLOPT_LOW_SPEED_LIMIT | Integer | ||||
CURLOPT_LOW_SPEED_TIME | Integer | In seconds (see cURL documentation). | |||
| Integer | Runtime 2020.11 | |||
CURLOPT_MAXCONNECTS | Integer | ||||
CURLOPT_MAXFILESIZE | Integer | ||||
CURLOPT_MAXFILESIZE_LARGE | Integer | ||||
| Integer | Runtime 2022.5 | |||
CURLOPT_MAX_RECV_SPEED_LARGE | Integer | ||||
CURLOPT_MAXREDIRS | Integer | ||||
CURLOPT_MAX_SEND_SPEED_LARGE | Integer | ||||
CURLOPT_MIME_OPTIONS | Constant | 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_NETRC | Constant | 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_FILE | String | ||||
| Integer | Runtime 2020.11 | |||
| Integer | Runtime 2020.11 | |||
CURLOPT_NOBODY | Boolean | ||||
CURLOPT_NOPROGRESS | Boolean | ||||
CURLPOT_NOPROXY | String | See cURL documentation. | |||
CURLOPT_NOSIGNAL | Boolean | ||||
CURLOPT_QUOTE | Array(String) | ||||
| String | Runtime 2020.11 | |||
CURLOPT_PINNEDPUBLICKEY | String | Runtime 2020.11 | |||
CURLOPT_PORT | Integer | ||||
CURLOPT_POST | Boolean | ||||
CURLOPT_POSTFIELDS | Blob | ||||
CURLOPT_POSTFIELDSIZE | Integer | ||||
CURLOPT_POSTFIELDSIZE_LARGE | Integer | ||||
CURLOPT_POSTQUOTE | Array(String) | ||||
| String | Runtime 2020.11 | |||
CURLOPT_PREQUOTE | Array(String) | ||||
CURLOPT_PREREQDATA | Blob | ||||
CURLOPT_PREREQFUNCTION | Callback | ||||
CURLOPT_PRIVATE | Blob | ||||
CURLOPT_PROGRESSDATA | Blob | ||||
CURLOPT_PROGRESSFUNCTION | Callback | ||||
CURLOPT_PROTOCOLS_STR | String | ||||
CURLOPT_PROXY | String | ||||
CURLOPT_PROXYAUTH | Constant | 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. | ||||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
CURLOPT_PROXY_CRLFILE | String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2021.4 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
CURLOPT_PROXYPORT | Integer | ||||
| String | Runtime 2020.11 | |||
CURLOPT_PROXY_SSLCERT | String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
CURLOPT_PROXYTYPE | Constant | CURLPROXY_HTTP | HTTP proxy | ||
CURLPROXY_SOCKS4 | SOCKS4 proxy | ||||
CURLPROXY_SOCKS5 | SOCKS5 proxy | ||||
| String | Runtime 2020.11 | |||
CURLOPT_PROXYUSERPWD | String | ||||
CURLOPT_PUT | Boolean | ||||
CURLOPT_QUICK_EXIT | Boolean | ||||
CURLOPT_RANDOM_FILE | String | ||||
CURLOPT_RANGE | String | ||||
CURLOPT_READDATA | Blob | ||||
CURLOPT_READFUNCTION | Callback | ||||
CURLOPT_REDIR_PROTOCOLS_STR | String | ||||
CURLOPT_REFERER | String | ||||
| String | Runtime 2020.11 | |||
CURLOPT_RESUME_FROM | Integer | ||||
CURLOPT_RESUME_FROM_LARGE | Integer | ||||
CURLOPT_SERVER_RESPONSE_TIMEOUT | Integer | Runtime 2021.4 | |||
| String | Runtime 2020.11 | |||
CURLOPT_SOCKS5_AUTH | String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
CURLOPT_SSH_AUTH_TYPES | Constant | CURLSSH_AUTH_KEYBOARD is not implemented for obvious reasons. | |||
CURLOPT_SSH_HOSTKEYDATA | Blob | ||||
CURLOPT_SSH_HOSTKEYFUNCTION | Callback | ||||
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 | String | Runtime 2022.5 | |||
CURLOPT_SSH_PUBLIC_KEYFILE | String | ||||
CURLOPT_SSH_PUBLIC_KEY_MD5 | String | ||||
CURLOPT_SSH_PRIVATE_KEYFILE | String | ||||
CURLOPT_SHARE | FileHandle | ||||
CURLOPT_SSLCERT | String | ||||
CURLOPT_SSLCERTTYPE | String | ||||
CURLOPT_SSLCERTPASSWD | String | ||||
CURLOPT_SSL_CIPHER_LIST | String | ||||
CURLOPT_SSL_CTX_DATA | Blob | ||||
CURLOPT_SSL_CTX_FUNCTION | Callback | ||||
CURLOPT_SSLENGINE | String | ||||
CURLOPT_SSLENGINE_DEFAULT | None | ||||
CURLOPT_SSLKEY | String | ||||
CURLOPT_SSLKEYTYPE | String | ||||
CURLOPT_SSLKEYPASSWD | String | ||||
CURLOPT_SSL_OPTIONS | Constant | 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_CACHE | Boolean | ||||
CURLOPT_SSL_VERIFYHOST | Integer | ||||
CURLOPT_SSL_VERIFYPEER | Boolean | ||||
CURLOPT_SSL_VERIFYSTATUS | Integer | Runtime 2021.10 | |||
CURLOPT_SSLVERSION | Constant | 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_STDERR | FileHandle | ||||
CURLOPT_TCP_NODELAY | Boolean | ||||
CURLOPT_TELNETOPTIONS | Array(String) | ||||
CURLOPT_TIMECONDITION | Constant | CURL_TIMECOND_IFMODSINCE | |||
CURL_TIMECOND_IFUNMODSINCE | |||||
CURLOPT_TIMEOUT | Integer | In seconds (see cURL documentation). | |||
CURLOPT_TIMEOUT_MS | Integer | In milliseconds (see cURL documentation). | |||
CURLOPT_TIMEVALUE | Integer | ||||
| Integer | Runtime 2020.11 | |||
| String | Runtime 2020.11 | |||
CURLOPT_TRANSFERTEXT | Boolean | ||||
CURLOPT_UNRESTRICTED_AUTH | Boolean | ||||
CURLOPT_UPLOAD | Boolean | ||||
CURLOPT_URL | String | ||||
CURLOPT_USE_SSL | Constant | 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_USERAGENT | String | ||||
CURLOPT_USERPWD | String | ||||
CURLOPT_VERBOSE | Boolean | ||||
CURLOPT_WRITEDATA | Blob | ||||
CURLOPT_WRITEFUNCTION | Callback | ||||
CURLOPT_WS_OPTIONS | Bitmask | ||||
| String | Runtime 2020.11 |
Related Pages: