public function withUri(Uri $uri, bool $preserveHost = false) : HttpRequest { $request = clone $this; $request->uri = $uri; $host = $uri->getHost(); if ($host != '') { $host .= $uri->getPort() ? ':' . $uri->getPort() : ''; if ($preserveHost) { if (empty($request->getHeader('Host'))) { $request = $request->withHeader('Host', $host); } } else { $request = $request->withHeader('Host', $host); } } return $request; }
public function testPort() { $uri1 = new Uri('http://example.com:80'); $uri2 = new Uri('http://example.com:443'); $uri3 = new Uri('https://example.com:80'); $uri4 = new Uri('https://example.com:443'); $this->assertEquals('', $uri1->getPort()); $this->assertEquals(443, $uri2->getPort()); $this->assertEquals(80, $uri3->getPort()); $this->assertEquals('', $uri4->getPort()); }
public function testShouldParseUriWithPortSuccessful() { $case = 'http://www.example.com:3232/payments/1?foo=bar&baz=bar#order'; $uri = new Uri($case); $this->assertEquals(3232, $uri->getPort()); $this->assertEquals('www.example.com', $uri->getHost()); $this->assertEquals('http', $uri->getScheme()); $this->assertNotEmpty($uri->getPath()); $this->assertEquals('/payments/1', $uri->getPath()); $this->assertNotEmpty($uri->getQuery()); $this->assertEquals('foo=bar&baz=bar', $uri->getQuery()); $this->assertNotEmpty($uri->getFragment()); $this->assertEquals('order', $uri->getFragment()); $this->assertEquals($case, $uri->__toString()); }
/** * @covers MediaCore\Uri::getPort */ public function testGetPort() { $url = 'http://example.com:8080/path/to/directory?foo=bar'; $uri = new Uri($url); $this->assertEquals('8080', $uri->getPort()); $url = 'http://example.com/path/to/directory?foo=bar'; $uri = new Uri($url); $this->assertNull($uri->getPort()); }
public function testSetGetPort() { $port = '8080'; $this->uri->setPort($port); $this->assertEquals($port, $this->uri->getPort()); }
public function testGetPortWithSchemeWithoutPort() { $uri = new Uri('http', 'www.example.com'); $this->assertNull($uri->getPort()); }
public function testSetPort() { $uri = new Uri('http', 'www.yahoo.com:8080'); $this->assertEquals('www.yahoo.com:8080', $uri->getAuthority()); $this->assertEquals('www.yahoo.com', $uri->getHost()); $this->assertEquals(8080, $uri->getPort()); $this->assertEquals('http://www.yahoo.com:8080', $uri->toString()); }