public function __construct(string $method, $uri = '', array $headers = [], ReadableStream $stream = null, $target = null, string $protocol = '1.1')
{
parent::__construct($headers, $stream, $protocol);
$this->method = $this->filterMethod($method);
$this->uri = $uri instanceof Uri ? $uri : new BasicUri($uri);
$this->target = $target instanceof Uri ? $target : $this->filterTarget($target);
if (!$this->hasHeader('Host')) {
$this->setHostFromUri();
}
if ($this->hasHeader('Cookie')) {
$this->setCookiesFromHeaders();
}
}