public function testUri() { $uri = new Uri('https://*****:*****@local.example.com:3001/foo?bar=baz#quz'); $this->assertEquals('https', $uri->getScheme()); $this->assertEquals('user:pass', $uri->getUserInfo()); $this->assertEquals('local.example.com', $uri->getHost()); $this->assertEquals(3001, $uri->getPort()); $this->assertEquals('user:pass@local.example.com:3001', $uri->getAuthority()); $this->assertEquals('/foo', $uri->getPath()); $this->assertEquals('bar=baz', $uri->getQuery()); $this->assertEquals('quz', $uri->getFragment()); }
/** * Return an instance with the specific request-target. * * If the request needs a non-origin-form request-target — e.g., for * specifying an absolute-form, authority-form, or asterisk-form — * this method may be used to create an instance with the specified * request-target, verbatim. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * changed request target. * * @link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various * request-target forms allowed in request messages) * @param mixed $requestTarget * @return static */ public function withRequestTarget($requestTarget) { $this->uri->withPath($requestTarget); return $this; }