## Properties:
-* private $observers = NULL
- SplObjectStorage, attached observers.
-* protected $options = NULL
- Array of set options.
-* protected $history = NULL
- http\Message request/response history.
-* public $recordHistory = false
- Boolean flag whether to record history in http\Client::$history.
+* private SplObjectStorage $observers = NULL
+ Attached observers.
+* protected array $options = NULL
+ Set options.
+* protected http\Message $history = NULL
+ Request/response history.
+* public bool $recordHistory = false
+ Whether to record history in http\Client::$history.
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 and has built-in c-ares support.
-* string $dns_interface
+* 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
+* 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
+* 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.
## Properties:
-* protected $options = NULL
+* protected array $options = NULL
Array of options for this request, which override client options.
## Properties:
-* protected $query = NULL
+* protected http\QueryString $query = NULL
The request's query parameters. ($_GET)
-* protected $form = NULL
+* protected http\QueryString $form = NULL
The request's form parameters. ($_POST)
-* protected $files = NULL
+* protected array $files = NULL
The request's form uploads. ($_FILES)
## Properties:
-* protected $request = NULL
- A http\Env\Request instance which overrides the environments default request.
-* protected $contentType = NULL
+* protected http\Env\Request $request = NULL
+ A request instance which overrides the environments default request.
+* protected string $contentType = NULL
The response's MIME content type.
-* protected $contentDisposition = NULL
+* protected string $contentDisposition = NULL
The response's MIME content disposition.
-* protected $contentEncoding = NULL
+* protected int $contentEncoding = NULL
See http\Env\Response::CONTENT_ENCODING_* constants.
-* protected $cacheControl = NULL
+* protected string $cacheControl = NULL
How the client should treat this response in regards to caching.
-* protected $etag = NULL
+* protected string $etag = NULL
A custom ETag.
-* protected $lastModified = NULL
+* protected int $lastModified = NULL
A "Last-Modified" time stamp.
-* protected $throttleDelay = NULL
+* protected int $throttleDelay = NULL
Any throttling delay.
-* protected $throttleChunk = NULL
+* protected int $throttleChunk = NULL
The chunk to send every $throttleDelay seconds.
## Properties:
-* public $name = NULL
+* public string $name = NULL
The name of the HTTP header.
-* public $value = NULL
+* public mixed $value = NULL
The value of the HTTP header.
## Properties:
-* public $params = NULL
+* public array $params = NULL
The (parsed) parameters.
-* public $param_sep = http\Params::DEF_PARAM_SEP
+* public array $param_sep = http\Params::DEF_PARAM_SEP
The parameter separator(s).
-* public $arg_sep = http\Params::DEF_ARG_SEP
+* public array $arg_sep = http\Params::DEF_ARG_SEP
The argument separator(s).
-* public $val_sep = http\Params::DEF_VAL_SEP
+* public array $val_sep = http\Params::DEF_VAL_SEP
The value separator(s).
-* public $flags = http\Params::PARSE_DEFAULT
+* public int $flags = http\Params::PARSE_DEFAULT
The modus operandi of the parser. See http\Params::PARSE_* constants.
## Properties:
-* private $instance = NULL
+* private http\QueryString $instance = NULL
The global instance. See http\QueryString::getGlobalInstance().
-* private $queryArray = NULL
- The data array.
+* private array $queryArray = NULL
+ The data.
The http\Url class provides versatile means to parse, construct and manipulate URLs.
+## Changelog
+
+Version | Changes
+--------|--------
+2.2.0 | Added parser constants:<br> http\Url::PARSE_MBUTF8,<br> http\Url::PARSE_MBLOC (on systems with wide character support),<br>http\Url::PARSE_TOPCT,<br>http\Url::PARSE_TOIDN (with libidn support).
+
+## Backwards compatibility
+
+### New parser in v2.2.0
+
+PHP's [parse_url()](http://php.net/parse_url) is avoided since v2.2.0.
+
+Creating an empty url by `new http\Url(NULL, NULL, 0)` will not result in `http://localhost/` anymore but in an empty URL instead.
+
## Constants:
* REPLACE
Import initial URL parts from the SAPI environment.
* SANITIZE_PATH
Whether to sanitize the URL path (consolidate double slashes, directory jumps etc.)
-
+* PARSE_MBUTF8
+ Parse UTF-8 encododed multibyte sequences.
+* PARSE_MBLOC
+ Parse locale encoded multibyte sequences (on systems with wide character support).
+* PARSE_TOIDN
+ Parse and convert multibyte hostnames according to IDNA (with libidn support).
+* PARSE_TOPCT
+ Percent encode multibyte sequences in the userinfo, path, query and fragment parts of the URL.
## Properties:
-* public $scheme = NULL
+* public string $scheme = NULL
The URL's scheme.
-* public $user = NULL
+* public string $user = NULL
Authenticating user.
-* public $pass = NULL
+* public string $pass = NULL
Authentication password.
-* public $host = NULL
+* public string $host = NULL
Hostname/domain.
-* public $port = NULL
+* public string $port = NULL
Port.
-* public $path = NULL
+* public string $path = NULL
URL path.
-* public $query = NULL
+* public string $query = NULL
URL querystring.
-* public $fragment = NULL
+* public string $fragment = NULL
URL fragment (hash).