public function testFromUrlAcceptsPort() { $request = new Request(); $request->fromUrl('http://localhost:3000/foo'); $this->assertEquals('http://localhost:3000', $request->getHost()); $this->assertEquals('/foo', $request->getResource()); }
/** * Processes Set-Cookie headers from a request/response pair. * * @param Message\Request $request A request object * @param Message\Response $response A response object */ public function processSetCookieHeaders(Message\Request $request, Message\Response $response) { foreach ($response->getHeader('Set-Cookie', false) as $header) { $cookie = new Cookie(); $cookie->fromSetCookieHeader($header, parse_url($request->getHost(), PHP_URL_HOST)); $this->addCookie($cookie); } }
/** * Returns true if the current cookie matches the supplied request. * * @return boolean */ public function matchesRequest(Message\Request $request) { // domain if (!$this->matchesDomain(parse_url($request->getHost(), PHP_URL_HOST))) { return false; } // path if (!$this->matchesPath($request->getResource())) { return false; } // secure if ($this->hasAttribute(static::ATTR_SECURE) && !$request->isSecure()) { return false; } return true; }
protected function makeDataToSign(Request $request, $authHeader) { $url = parse_url($request->getHost()); $data = [$request->getMethod(), $url['scheme'], $url['host'], $request->getResource(), $this->getCanonicalHeaders($request), $this->makeContentHash($request), $authHeader]; $dataToSign = implode("\t", $data); // echo 'data to sign:' . $dataToSign . "\n"; return $dataToSign; }