You are here

private function Uri::validateState in Lockr 7.3

File

vendor/guzzlehttp/psr7/src/Uri.php, line 715

Class

Uri
PSR-7 URI implementation.

Namespace

GuzzleHttp\Psr7

Code

private function validateState() {
  if ($this->host === '' && ($this->scheme === 'http' || $this->scheme === 'https')) {
    $this->host = self::HTTP_DEFAULT_HOST;
  }
  if ($this
    ->getAuthority() === '') {
    if (0 === strpos($this->path, '//')) {
      throw new \InvalidArgumentException('The path of a URI without an authority must not start with two slashes "//"');
    }
    if ($this->scheme === '' && false !== strpos(explode('/', $this->path, 2)[0], ':')) {
      throw new \InvalidArgumentException('A relative URI must not have a path beginning with a segment containing a colon');
    }
  }
  elseif (isset($this->path[0]) && $this->path[0] !== '/') {
    @trigger_error('The path of a URI with an authority must start with a slash "/" or be empty. Automagically fixing the URI ' . 'by adding a leading slash to the path is deprecated since version 1.4 and will throw an exception instead.', E_USER_DEPRECATED);
    $this->path = '/' . $this->path;

    //throw new \InvalidArgumentException('The path of a URI with an authority must start with a slash "/" or be empty');
  }
}