- Created by Annegret Bernhardt on Aug 31, 2023
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
Version 1 Current »
The URL adapter uses cURL. In some cases you might want to set cURL options on an URL adapter request, e.g. to specify a timeout. You can do that by adding these cURL options on the URL alias to the options attribute. 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 regarding 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
Setting cURL Options dynamically
Alternatively, it is possible to provide the cURL options dynamically.
The options parameter is an array of Base Components.Add Ons.Option, describing a name/value pair. Set the cURL option you want to provide to attribute name and the value to attribute value.
Then, provide the options array to parameter options of the URL adapter as shown below.
Persisted variable curlOptions is an array of Option. It contains the cURL options as name/value pairs. The execution diagram provides this variable to the parameter option of the URL adapter call (request).
The contents of curlOptions need to be prepared before in a dedicated operation, e.g. a mapping diagram.
The following options - listed in alphabetical order - are currently supported (see the cURL documentation for more details). All cURL data types can be set by using xUML Base Type String : 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_SERVER_RESPONSE_TIMEOUTScheer PAS cURL Options
Option Data Type Remarks E2E_FORBID_REUSE
Boolean If E2E_FORBID_REUSE
is true for a URL adapter call, then all curl connections are closed after the request.Native cURL Options
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 cURLcURL Data Types
cURL Data Type xUML Base 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 List of Supported Options
Option Data Type Supported Supported cURL Constants / Remarks CURLOPT_ACCEPT_ENCODING
String CURLOPT_ACCEPTTIMEOUT_MS
Integer CURLOPT_APPEND
String CURLOPT_AUTOREFERER
Boolean CURLOPT_AWS_SIGV4
String CURLOPT_BUFFERSIZE
Integer CURLOPT_CAINFO
String CURLOPT_CAPATH
String CURLOPT_CA_CACHE_TIMEOUT
Integer In seconds (see cURL documentation). CURLOPT_CONNECTTIMEOUT
Integer CURLOPT_TIMEOUT
.CURLOPT_CONNECT_ONLY
Boolean CURLOPT_CRLF
Boolean CURLOPT_CRLFILE
String 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 CURLOPT_DNS_CACHE_TIMEOUT
Integer In seconds (see cURL documentation). CURLOPT_DNS_USE_GLOBAL_CACHE
Boolean CURLOPT_DOH_SSL_VERIFYHOST
Boolean CURLOPT_DOH_SSL_VERIFYPEER
Boolean CURLOPT_DOH_SSL_VERIFYSTATUS
Integer CURLOPT_DOH_URL
String CURLOPT_EGDSOCKET
String CURLOPT_ENCODING
String CURLOPT_ERRORBUFFER
Blob CURLOPT_EXPECT_100_TIMEOUT_MS
Integer 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 CURLOPT_FTP_USE_PRET
String CURLOPT_FOLLOWLOCATION
Boolean CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
Integer CURLOPT_HAPROXYPROTOCOL
String 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). CURLAUTH_BASIC
basic authentication CURLAUTH_DIGEST
digest authentication CURLAUTH_GSSNEGOTIATE
deprecated, use CURLAUTH_NEGOTIATE
insteadCURLAUTH_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. CURLOPT_ISSUERCERT
String 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). CURLOPT_MAXAGE_CONN
Integer CURLOPT_MAXCONNECTS
Integer CURLOPT_MAXFILESIZE
Integer CURLOPT_MAXFILESIZE_LARGE
Integer CURLOPT_MAXLIFETIME_CONN
Integer 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. 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 CURLOPT_NEW_DIRECTORY_PERMS
Integer CURLOPT_NEW_FILE_PERMS
Integer CURLOPT_NOBODY
Boolean CURLOPT_NOPROGRESS
Boolean CURLPOT_NOPROXY
String See cURL documentation. CURLOPT_NOSIGNAL
Boolean CURLOPT_QUOTE
Array(String) CURLOPT_PATH_AS_IS
String CURLOPT_PINNEDPUBLICKEY
String CURLOPT_PORT
Integer CURLOPT_POST
Boolean CURLOPT_POSTFIELDS
Blob CURLOPT_POSTFIELDSIZE
Integer CURLOPT_POSTFIELDSIZE_LARGE
Integer CURLOPT_POSTQUOTE
Array(String) CURLOPT_POSTREDIR
String 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
insteadCURLAUTH_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 CURLOPT_PROXY_CAPATH
String CURLOPT_PROXY_CRLFILE
String CURLOPT_PROXYHEADER
String CURLOPT_PROXY_ISSUERCERT
String CURLOPT_PROXY_KEYPASSWD
String CURLOPT_PROXYPASSWORD
String CURLOPT_PROXY_PINNEDPUBLICKEY
String CURLOPT_PROXYPORT
Integer CURLOPT_PROXY_SERVICE_NAME
String CURLOPT_PROXY_SSLCERT
String CURLOPT_PROXY_SSLCERTTYPE
String CURLOPT_PROXY_SSL_CIPHER_LIST
String CURLOPT_PROXY_SSLKEY
String CURLOPT_PROXY_SSLKEYTYPE
String CURLOPT_PROXY_SSL_OPTIONS
String CURLOPT_PROXY_SSL_VERIFYHOST
String CURLOPT_PROXY_SSL_VERIFYPEER
String CURLOPT_PROXY_SSLVERSION
String CURLOPT_PROXY_TLS13_CIPHERS
String CURLOPT_PROXY_TRANSFER_MODE
String CURLOPT_PROXYTYPE
Constant
CURLPROXY_HTTP
HTTP proxy CURLPROXY_SOCKS4
SOCKS4 proxy CURLPROXY_SOCKS5
SOCKS5 proxy CURLOPT_PROXYUSERNAME
String 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 CURLOPT_RESOLVE
String CURLOPT_RESUME_FROM
Integer CURLOPT_RESUME_FROM_LARGE
Integer Integer CURLOPT_SERVICE_NAME
String CURLOPT_SOCKS5_AUTH
String CURLOPT_SOCKS5_GSSAPI_NEC
String CURLOPT_SOCKS5_GSSAPI_SERVICE
String 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 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 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 CURLOPT_TIMEVALUE_LARGE
Integer CURLOPT_TLS13_CIPHERS
String 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 CURLOPT_XOAUTH2_BEARER
String
- No labels