-
Notifications
You must be signed in to change notification settings - Fork 23
TOptionsProperty
TOptions property class.
Allows an application to select what kind of IP addresses to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP.
type
TIPResolve = (
Default, resolves addresses to all IP versions that your system allows.
IPRESOLVE_WHATEVER,
Resolve to IPv4 addresses.
IPRESOLVE_V4,
Resolve to IPv6 addresses.
IPRESOLVE_V6
);
Create new TOptionsProperty class.
public constructor Create (AHandle : CURL; AErrorStack : PErrorStack);
Skip all signal handling.
If it is TRUE, libcurl will not use any functions that install signal handlers or any functions that cause signals to be sent to the process. This option is here to allow multi-threaded unix applications to still set/use all timeout options etc, without risking getting signals.
If this option is set and libcurl has been built with the standard name resolver, timeouts will not occur while the name resolve takes place. Consider building libcurl with the c-ares or threaded resolver backends to enable asynchronous DNS lookups, to enable timeouts for name resolves without the use of signals.
Setting NoSignal to TRUE makes libcurl NOT ask the system to ignore SIGPIPE signals, which otherwise are sent by the system when trying to send data to a socket which is closed in the other end. libcurl makes an effort to never cause such SIGPIPEs to trigger, but some operating systems have no way to avoid them and even on those that have there are some corner cases when they may still happen, contrary to our desire. In addition, using CURLAUTH_NTLM_WB authentication could cause a SIGCHLD signal to be raised.
public property NoSignal : Boolean default False; { Access : WriteOnly }
Set scope id for IPv6 addresses.
Pass a long specifying the scope id value to use when connecting to IPv6 addresses.
public property AddressScope : Longint default 0; { Access : WriteOnly }
Source interface for outgoing trafic.
This sets the interface name to use as outgoing network interface. The name can be an interface name, an IP address, or a host name. If the parameter starts with "if!" then it is treated as only as interface name and no attempt will ever be named to do treat it as an IP address or to do name resolution on it. If the parameter starts with "host!" it is treated as either an IP address or a hostname. Hostnames are resolved synchronously. Using the if! format is highly recommended when using the multi interfaces to avoid allowing the code to block.
public property InterfaceName : string; { Access : WriteOnly }
Set UNIX domain socket.
Enables the use of Unix domain sockets as connection endpoint and sets the path to path. If path is '' (empty string), then Unix domain sockets are disabled.
When enabled, curl will connect to the Unix domain socket instead of establishing a TCP connection to a host. Since no TCP connection is created, curl does not need to resolve the DNS hostname in the URL. The maximum path length on Cygwin, Linux and Solaris is 107. On other platforms it might be even less.
public property UnixSocketPath : string; { Access : WriteOnly }
Set an abstract Unix domain socket.
Enables the use of an abstract Unix domain socket instead of establishing a TCP connection to a host.
public property AbstractUnixSocketPath : string; { Access : WriteOnly }
Set preffered receive buffer size.
Specifying your preferred size for the receive buffer in libcurl. The main point of this would be that the write callback gets called more often and with smaller chunks. Secondly, for some protocols, there's a benefit of having a larger buffer for performance. The minimum buffer size allowed to be set is 1024 bytes.
public property BufferSize : TDataSize; { Access : WriteOnly }
Request failure on HTTP response >= 400.
Tells the library to fail the request if the HTTP code returned is equal to or larger than 400. The default action would be to return the page normally, ignoring that code.
public property FailOnError : Boolean default False; { Access : WriteOnly }