public function testFromUrlAcceptsPort()
 {
     $request = new Request();
     $request->fromUrl('http://localhost:3000/foo');
     $this->assertEquals('http://localhost:3000', $request->getHost());
     $this->assertEquals('/foo', $request->getResource());
 }
 public function getResource()
 {
     $resource = parent::getResource();
     if (!$this->isSafe() || !$this->fields) {
         return $resource;
     }
     // append the query string
     $resource .= false === strpos($resource, '?') ? '?' : '&';
     $resource .= http_build_query($this->fields);
     return $resource;
 }
示例#3
0
文件: Cookie.php 项目: kingsj/core
 /**
  * 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;
 }