Ejemplo n.º 1
0
 /**
  * @covers Guzzle\Http\Message\Request::getPort
  * @covers Guzzle\Http\Message\Request::setPort
  */
 public function testRequestHasPort()
 {
     $this->assertEquals(8124, $this->request->getPort());
     $this->assertEquals('127.0.0.1:8124', $this->request->getHeader('Host'));
     $this->assertEquals($this->request, $this->request->setPort('8080'));
     $this->assertEquals('8080', $this->request->getPort());
     $this->assertEquals('127.0.0.1:8080', $this->request->getHeader('Host'));
     $this->request->setPort(80);
     $this->assertEquals('127.0.0.1', $this->request->getHeader('Host'));
 }
Ejemplo n.º 2
0
 public function testCanChangePortThroughScheme()
 {
     $request = new Request('GET', 'http://foo.com');
     $request->setScheme('https');
     $this->assertEquals('https://foo.com', (string) $request->getUrl());
     $this->assertEquals('foo.com', $request->getHost());
     $request->setScheme('http');
     $this->assertEquals('http://foo.com', (string) $request->getUrl());
     $this->assertEquals('foo.com', $request->getHost());
     $request->setPort(null);
     $this->assertEquals('http://foo.com', (string) $request->getUrl());
     $this->assertEquals('foo.com', $request->getHost());
 }
Ejemplo n.º 3
0
 protected function generateRequest($url, array $subProtocols, array $headers)
 {
     $headers = array_merge($this->defaultHeaders, $headers);
     $headers['Sec-WebSocket-Key'] = $this->generateKey();
     $request = new Request('GET', $url, $headers);
     $scheme = strtolower($request->getScheme());
     if (!in_array($scheme, ['ws', 'wss'])) {
         throw new \InvalidArgumentException(sprintf('Cannot connect to invalid URL (%s)', $url));
     }
     $request->setScheme('HTTP');
     if (!$request->getPort()) {
         $request->setPort('wss' === $scheme ? 443 : 80);
     } else {
         $request->setHeader('Host', $request->getHeader('Host') . ":{$request->getPort()}");
     }
     if (!$request->getHeader('Origin')) {
         $request->setHeader('Origin', str_replace('ws', 'http', $scheme) . '://' . $request->getHost());
     }
     // do protocol headers
     if (count($subProtocols) > 0) {
         $protocols = implode(',', $subProtocols);
         if ($protocols != "") {
             $request->setHeader('Sec-WebSocket-Protocol', $protocols);
         }
     }
     return $request;
 }