Breadcrumbs

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:



icon_download_example.png

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



url_adapter_curl_options.png

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:

(tick) Option is recognized and forwarded to cURL
(warning) Option is recognized and forwarded to cURL, but may overwrite built-in URL adapter functionality
(cross) 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

(tick)


Runtime 2020.11

CURLOPT_ACCEPTTIMEOUT_MS

Integer

(tick)


Runtime 2020.11

CURLOPT_APPEND

String

(tick)


Runtime 2020.11

CURLOPT_AUTOREFERER

Boolean

(tick)



CURLOPT_AWS_SIGV4

String

(tick)


Runtime 2021.4

CURLOPT_BUFFERSIZE

Integer

(tick)



CURLOPT_CAINFO

String

(warning)



CURLOPT_CAPATH

String

(tick)



CURLOPT_CA_CACHE_TIMEOUT

Integer

(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_ONLY

Boolean

(tick)



CURLOPT_CRLF

Boolean

(tick)



CURLOPT_CRLFILE

String

(tick)


Runtime 2020.11

CURLOPT_CONV_FROM_NETWORK_FUNCTION

Callback

(cross)



CURLOPT_CONV_FROM_UTF8_FUNCTION

Callback

(cross)



CURLOPT_CONV_TO_NETWORK_FUNCTION

Callback

(cross)



CURLOPT_COOKIE

String

(tick)



CURLOPT_COOKIEFILE

String

(tick)



CURLOPT_COOKIEJAR

String

(tick)



CURLOPT_COOKIELIST

String

(tick)



CURLOPT_COOKIESESSION

Boolean

(tick)



CURLOPT_CUSTOMREQUEST

String

(warning)



CURLOPT_DEBUGDATA

Blob

(cross)



CURLOPT_DEBUGFUNCTION

Callback

(cross)



CURLOPT_DIRLISTONLY

String

(tick)


Runtime 2020.11

CURLOPT_DNS_CACHE_TIMEOUT

Integer

(tick)

In seconds (see

cURL documentation

).


CURLOPT_DNS_USE_GLOBAL_CACHE

Boolean

(tick)



CURLOPT_DOH_SSL_VERIFYHOST

Boolean

(tick)


Runtime 2021.4

CURLOPT_DOH_SSL_VERIFYPEER

Boolean

(tick)


Runtime 2021.4

CURLOPT_DOH_SSL_VERIFYSTATUS

Integer

(tick)


Runtime 2021.10

CURLOPT_DOH_URL

String

(tick)


Runtime 2020.11

CURLOPT_EGDSOCKET

String

(tick)



CURLOPT_ENCODING

String

(tick)



CURLOPT_ERRORBUFFER

Blob

(cross)



CURLOPT_EXPECT_100_TIMEOUT_MS

Integer

(tick)


Runtime 2020.11

CURLOPT_FAILONERROR

Boolean

(warning)



CURLOPT_FILETIME

Boolean

(tick)



CURLOPT_FORBID_REUSE

Boolean

(tick)



CURLOPT_FRESH_CONNECT

Boolean

(tick)



CURLOPT_FTP_ACCOUNT

String

(tick)



CURLOPT_FTP_ALTERNATIVE_TO_USER

String

(tick)



CURLOPT_FTPAPPEND

Boolean

(tick)



CURLOPT_FTP_CREATE_MISSING_DIRS

Boolean

(tick)



CURLOPT_FTP_FILEMETHOD

Constant

(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_FTPLISTONLY

Boolean

(tick)



CURLOPT_FTP_RESPONSE_TIMEOUT

Integer

(tick)

In seconds (see

cURL documentation

).


CURLOPT_FTPPORT

String

(tick)



CURLOPT_FTP_SKIP_PASV_IP

Boolean

(tick)



CURLOPT_FTP_SSL

Constant

(tick)

Deprecated. Use CURLOPT_USE_SSL instead.


CURLOPT_FTP_SSL_CCC

Boolean

(tick)

false represents CURLFTPSSL_CCC_NONE, true is for CURLFTPSSL_CCC_PASSIVE .


CURLOPT_FTPSSLAUTH

Constant

(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_EPRT

Boolean

(tick)



CURLOPT_FTP_USE_EPSV

Boolean

(tick)



CURLOPT_FTP_USE_PRET

String

(tick)


Runtime 2020.11

CURLOPT_FOLLOWLOCATION

Boolean

(warning)



CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS

Integer

(tick)


Runtime 2020.11

CURLOPT_HAPROXYPROTOCOL

String

(tick)


Runtime 2020.11

CURLOPT_HEADER

Boolean

(tick)



CURLOPT_HEADERDATA

Blob

(cross)



CURLOPT_HEADERFUNCTION

Callback

(cross)



CURLOPT_HTTPAUTH

Constant

(tick)

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.


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

(tick)



CURLOPT_HTTPHEADER

Array(String)

(warning)



CURLOPT_HTTPPOST

Other

(cross)



CURLOPT_HTTPPROXYTUNNEL

Boolean

(tick)



CURLOPT_HTTP_VERSION

Constant

(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_HTTP200ALIASES

Array(String)

(tick)



CURLOPT_IGNORE_CONTENT_LENGTH

Boolean

(tick)



CURLOPT_INFILESIZE

Integer

(warning)



CURLOPT_INFILESIZE_LARGE

Integer

(warning)



CURLOPT_INTERFACE

String

(warning)



CURLOPT_IOCTLDATA

Blob

(cross)



CURLOPT_IOCTLFUNCTION

Callback

(cross)



CURLOPT_IPRESOLVE

Constant

(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_KEYPASSWD

String

(tick)



CURLOPT_KRB4LEVEL

String

(tick)



CURLOPT_LOCALPORT

Integer

(tick)



CURLOPT_LOCALPORTRANGE

Integer

(tick)



CURLOPT_LOW_SPEED_LIMIT

Integer

(tick)



CURLOPT_LOW_SPEED_TIME

Integer

(tick)

In seconds (see

cURL documentation

).


CURLOPT_MAXAGE_CONN

Integer

(tick)


Runtime 2020.11

CURLOPT_MAXCONNECTS

Integer

(tick)



CURLOPT_MAXFILESIZE

Integer

(tick)



CURLOPT_MAXFILESIZE_LARGE

Integer

(tick)



CURLOPT_MAXLIFETIME_CONN

Integer

(tick)


Runtime 2022.5

CURLOPT_MAX_RECV_SPEED_LARGE

Integer

(tick)



CURLOPT_MAXREDIRS

Integer

(warning)



CURLOPT_MAX_SEND_SPEED_LARGE

Integer

(tick)



CURLOPT_MIME_OPTIONS

Constant

(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_NETRC

Constant

(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_FILE

String

(tick)



CURLOPT_NEW_DIRECTORY_PERMS

Integer

(tick)


Runtime 2020.11

CURLOPT_NEW_FILE_PERMS

Integer

(tick)


Runtime 2020.11

CURLOPT_NOBODY

Boolean

(tick)



CURLOPT_NOPROGRESS

Boolean

(tick)



CURLPOT_NOPROXY

String

(tick)

See

cURL documentation

.


CURLOPT_NOSIGNAL

Boolean

(warning)



CURLOPT_QUOTE

Array(String)

(tick)



CURLOPT_PATH_AS_IS

String

(tick)


Runtime 2020.11

CURLOPT_PINNEDPUBLICKEY

String

(tick)


Runtime 2020.11

CURLOPT_PORT

Integer

(tick)



CURLOPT_POST

Boolean

(tick)



CURLOPT_POSTFIELDS

Blob

(cross)



CURLOPT_POSTFIELDSIZE

Integer

(tick)



CURLOPT_POSTFIELDSIZE_LARGE

Integer

(tick)



CURLOPT_POSTQUOTE

Array(String)

(warning)



CURLOPT_POSTREDIR

String

(tick)


Runtime 2020.11

CURLOPT_PREQUOTE

Array(String)

(tick)



CURLOPT_PREREQDATA

Blob

(cross)



CURLOPT_PREREQFUNCTION

Callback

(cross)



CURLOPT_PRIVATE

Blob

(cross)



CURLOPT_PROGRESSDATA

Blob

(cross)



CURLOPT_PROGRESSFUNCTION

Callback

(cross)



CURLOPT_PROTOCOLS_STR

String

(cross)



CURLOPT_PROXY

String

(warning)



CURLOPT_PROXYAUTH

Constant

(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_CRLFILE

String

(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_PROXYPORT

Integer

(warning)



CURLOPT_PROXY_SERVICE_NAME

String

(tick)


Runtime 2020.11

CURLOPT_PROXY_SSLCERT

String

(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_PROXYTYPE

Constant

(warning)



CURLPROXY_HTTP

HTTP proxy


CURLPROXY_SOCKS4

SOCKS4 proxy


CURLPROXY_SOCKS5

SOCKS5 proxy


CURLOPT_PROXYUSERNAME

String

(tick)


Runtime 2020.11

CURLOPT_PROXYUSERPWD

String

(warning)



CURLOPT_PUT

Boolean

(tick)



CURLOPT_QUICK_EXIT

Boolean

(cross)



CURLOPT_RANDOM_FILE

String

(tick)



CURLOPT_RANGE

String

(tick)



CURLOPT_READDATA

Blob

(cross)



CURLOPT_READFUNCTION

Callback

(cross)



CURLOPT_REDIR_PROTOCOLS_STR

String

(cross)



CURLOPT_REFERER

String

(tick)



CURLOPT_RESOLVE

String

(tick)


Runtime 2020.11

CURLOPT_RESUME_FROM

Integer

(tick)



CURLOPT_RESUME_FROM_LARGE

Integer

(tick)



CURLOPT_SERVER_RESPONSE_TIMEOUT

Integer

(tick)


Runtime 2021.4

CURLOPT_SERVICE_NAME

String

(tick)


Runtime 2020.11

CURLOPT_SOCKS5_AUTH

String

(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_TYPES

Constant

(tick)

CURLSSH_AUTH_KEYBOARD

 is not implemented for obvious reasons.


CURLOPT_SSH_HOSTKEYDATA

Blob

(cross)



CURLOPT_SSH_HOSTKEYFUNCTION

Callback

(cross)



CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256

String

(tick)


Runtime 2022.5

CURLOPT_SSH_PUBLIC_KEYFILE

String

(tick)



CURLOPT_SSH_PUBLIC_KEY_MD5

String

(tick)



CURLOPT_SSH_PRIVATE_KEYFILE

String

(tick)



CURLOPT_SHARE

FileHandle

(cross)



CURLOPT_SSLCERT

String

(warning)



CURLOPT_SSLCERTTYPE

String

(warning)



CURLOPT_SSLCERTPASSWD

String

(tick)



CURLOPT_SSL_CIPHER_LIST

String

(tick)



CURLOPT_SSL_CTX_DATA

Blob

(cross)



CURLOPT_SSL_CTX_FUNCTION

Callback

(cross)



CURLOPT_SSLENGINE

String

(tick)



CURLOPT_SSLENGINE_DEFAULT

None

(tick)



CURLOPT_SSLKEY

String

(warning)



CURLOPT_SSLKEYTYPE

String

(warning)



CURLOPT_SSLKEYPASSWD

String

(warning)



CURLOPT_SSL_OPTIONS

Constant

(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_CACHE

Boolean

(tick)



CURLOPT_SSL_VERIFYHOST

Integer

(warning)



CURLOPT_SSL_VERIFYPEER

Boolean

(warning)



CURLOPT_SSL_VERIFYSTATUS

Integer

(tick)



Runtime 2021.10

CURLOPT_SSLVERSION

Constant

(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_STDERR

FileHandle

(cross)



CURLOPT_TCP_NODELAY

Boolean

(tick)



CURLOPT_TELNETOPTIONS

Array(String)

(tick)



CURLOPT_TIMECONDITION

Constant

(tick)

CURL_TIMECOND_IFMODSINCE


CURL_TIMECOND_IFUNMODSINCE


CURLOPT_TIMEOUT

Integer

(tick)

In seconds (see

cURL documentation

).


CURLOPT_TIMEOUT_MS

Integer

(tick)

In milliseconds (see

cURL documentation

).


CURLOPT_TIMEVALUE

Integer

(tick)



CURLOPT_TIMEVALUE_LARGE

Integer

(tick)


Runtime 2020.11

CURLOPT_TLS13_CIPHERS

String

(tick)


Runtime 2020.11

CURLOPT_TRANSFERTEXT

Boolean

(tick)



CURLOPT_UNRESTRICTED_AUTH

Boolean

(tick)



CURLOPT_UPLOAD

Boolean

(warning)



CURLOPT_URL

String

(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_ALL

Require SSL for all communication.


CURLOPT_USERAGENT

String

(tick)




CURLOPT_USERPWD

String

(warning)




CURLOPT_VERBOSE

Boolean

(warning)




CURLOPT_WRITEDATA

Blob

(cross)




CURLOPT_WRITEFUNCTION

Callback

(cross)




CURLOPT_WS_OPTIONS

Bitmask

(cross)




CURLOPT_XOAUTH2_BEARER

String

(tick)



Runtime 2020.11


Related Pages: