2.1.0
authorMichael Wallner <mike@php.net>
Fri, 1 Aug 2014 08:22:46 +0000 (10:22 +0200)
committerMichael Wallner <mike@php.net>
Fri, 1 Aug 2014 08:23:39 +0000 (10:23 +0200)
http/Client.md
http/Client/Curl.md
http/Params.md

index 64d7aa8f1fc1e0c7a2db170553875a136b4233e4..4e9cb4e4be19ab0b7b5e48bc613249463976a64a 100644 (file)
@@ -1,6 +1,6 @@
 # class http\Client implements SplSubject, Countable
 
-The HTTP client. The only driver currently supported is http\Client\Curl.
+The HTTP client. See http\Client\Curl's [options](http/Client/Curl#Options:) which is the only driver currently supported.
 
 ## Examples:
 
index d0f692b751cecb19a23a3510a9619a08b0c4974f..8051b73984c7d74e0dda6d62f6d61697ea2053a9 100644 (file)
@@ -2,6 +2,12 @@
 
 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.
+
 ## Constants:
 
 ### HTTP Protocol Version
@@ -75,6 +81,7 @@ The http\Client\Curl namespace holds option value constants specific to the curl
 
 ## Options:
 
+The option names used here are more or less derived from the corresponding CURLOPT_* names.
 ### HTTP
 
 * int $protocol  
@@ -106,8 +113,14 @@ The http\Client\Curl namespace holds option value constants specific to the curl
 * 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  
@@ -242,4 +255,3 @@ The http\Client\Curl namespace holds option value constants specific to the curl
     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.
-
index d8bf3b77b691e3a690cb18e937b70a78e297d2cf..51863f0f7c369ff859d9335e345b5d1f9c760b22 100644 (file)
@@ -2,6 +2,78 @@
 
 Parse, interpret and compose HTTP (header) parameters.
 
+## Changelog:
+
+Version | Change
+--------|-------
+2.0.1   | Added [RFC5987](http://tools.ietf.org/html/rfc5987) support
+
+## Example:
+
+       <?php
+
+       $u = urlencode("ü");
+       $s = urlencode("ß");
+
+       $t = "p1*=utf-8'de's$u$s,p2*=utf-8''hei$s;a1*=utf-8''a$s;a2*=utf-8''e$s;a3=no,p3=not";
+       $p = new http\Params($t);
+
+       var_dump($p->params, $p->toString());
+
+       ?>
+
+Yields:
+
+       array(3) {
+               ["p1"]=>
+               array(2) {
+                       ["*rfc5987*"]=>
+                       array(1) {
+                         ["de"]=>
+                         string(5) "süß"
+                       }
+                       ["arguments"]=>
+                       array(0) {
+                       }
+               }
+               ["p2"]=>
+               array(2) {
+                       ["*rfc5987*"]=>
+                       array(1) {
+                         [""]=>
+                         string(5) "heiß"
+                       }
+                       ["arguments"]=>
+                       array(2) {
+                               ["*rfc5987*"]=>
+                               array(2) {
+                               ["a1"]=>
+                               array(1) {
+                                 [""]=>
+                                 string(3) "aß"
+                               }
+                               ["a2"]=>
+                               array(1) {
+                                 [""]=>
+                                 string(3) "eß"
+                               }
+                               }
+                               ["a3"]=>
+                               string(2) "no"
+                       }
+               }
+               ["p3"]=>
+               array(2) {
+                       ["value"]=>
+                       string(3) "not"
+                       ["arguments"]=>
+                       array(0) {
+                       }
+               }
+       }
+       string(98) "p1*=utf-8'de's%C3%BC%C3%9F,p2*=utf-8''hei%C3%9F;a1*=utf-8''a%C3%9F;a2*=utf-8''e%C3%9F;a3=no,p3=not"
+
+
 ## Constants:
 
 * DEF_PARAM_SEP  
@@ -22,6 +94,8 @@ Parse, interpret and compose HTTP (header) parameters.
   Parse sub dimensions indicated by square brackets.
 * PARSE_QUERY  
   Parse URL querystring (same as http\Params::PARSE_URLENCODED|http\Params::PARSE_DIMENSION).
+* PARSE_RFC5987
+  Parse [RFC5987](http://tools.ietf.org/html/rfc5987) style encoded character set and language information embedded in HTTP header params.
 
 ## Properties: