The http\Client\Curl namespace holds option value constants specific to the curl driver of the http\Client.
+## Changelog
+
+Version | Change
+--------|-------
+2.1.0 | Added $dns_interface, $dns_local_ip4, $dns_local_ip6 options, $expect_100_timeout.
+2.1.2 | Added request option constants:<br> http\Client\Curl::POSTREDIR_303,<br> http\Client\Curl::AUTH_SPNEGO,<br> http\Client\Curl::SSL_VERSION_TLSv1_0,<br> http\Client\Curl::SSL_VERSION_TLSv1_1 and<br> http\Client\Curl::SSL_VERSION_TLSv1_2
+
## Constants:
### HTTP Protocol Version
### SSL Protocol Version
+* SSL_VERSION_TLSv1_0
+ Use TLS v1.0 encryption.
+* SSL_VERSION_TLSv1_1
+ Use TLS v1.1 encryption.
+* SSL_VERSION_TLSv1_2
+ Use TLS v1.2 encryption.
* SSL_VERSION_TLSv1
- Use TLSv1 encryption.
+ Use any TLS v1 encryption.
* SSL_VERSION_SSLv2
- Use SSLv2 encryption.
+ Use SSL v2 encryption.
* SSL_VERSION_SSLv3
- Use SSLv3 encryption.
+ Use SSL v3 encryption.
* SSL_VERSION_ANY
Use any encryption.
Use NTLM authentication.
* AUTH_GSSNEG
Use GSS-Negotiate authentication.
+* AUTH_SPNEGO
+ Use HTTP Netgotiate authentication (SPNEGO, RFC4559). Available if libcurl is v7.38.0 or more recent.
* AUTH_ANY
Use any authentication.
Keep POSTing on 301 redirects. Available if libcurl is v7.19.1 or more recent.
* POSTREDIR_302
Keep POSTing on 302 redirects. Available if libcurl is v7.19.1 or more recent.
+* POSTREDIR_303
+ Keep POSTing on 303 redirects. Available if libcurl is v7.19.1 or more recent.
* POSTREDIR_ALL
Keep POSTing on any redirect. Available if libcurl is v7.19.1 or more recent.
## Options:
+The option names used here are more or less derived from the corresponding CURLOPT_* names.
### HTTP
* int $protocol
* array $resolve
A list of HOST:PORT:ADDRESS mappings which pre-populate the DNS cache. Available if libcurl is v7.21.3 or more recent.
* string $dns_servers
- Comma separated list of custom DNS servers of the form HOST[:PORT]. Available if libcurl is v7.24.0 or more recent.
-
+ Comma separated list of custom DNS servers of the form HOST[:PORT]. Available if libcurl is v7.24.0 or more recent and has built-in c-ares support.
+* string $dns_interface
+ The name of the network interface ***name*** that the DNS resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
+* string $dns_local_ip4
+ The local IPv4 ***address*** that the resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
+* string $dns_local_ip6
+ The local IPv6 ***address*** that the resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
+
### Limits
* int $low_speed_limit
Minimum speed in bytes per second.
-* int $low_speed_time
+* int $low_speed_time
Maximum time in seconds the transfer can be below $low_speed_limit before cancelling.
* int $maxfilesize
Maximum download size.
Seconds to wait before sending keepalive probes. Available if libcurl is v7.25.0 or more recent.
* int $tcp_keepintvl
Interval in seconds to wait between sending keepalive probes. Available if libcurl is v7.25.0 or more recent.
-
+* bool $tcp_nodelay
+ Disable [Nagle's algotrithm](http://tools.ietf.org/html/rfc896).
+
### Authentication
* string $httpauth
Seconds the complete transfer may take.
* float $connecttimeout
Seconds the connect may take.
+* float $expect_100_timeout
+ Senconds to wait for the server to send a response to "Expect: 100-Continue" before just proceeding with the request. Available if libcurl is v7.36.0 or more recent.
### SSL
File with the concatenation of CRL in PEM format. Available if libcurl was built with OpenSSL support.
* bool $certinfo
Enable gathering of SSL certificate chain information. Available if libcurl is v7.19.1 or more recent.
-