/** * @covers Brickoo\Component\Http\HttpMessageHeader::__construct * @covers Brickoo\Component\Http\HttpMessageHeader::addField * @covers Brickoo\Component\Http\HttpMessageHeader::getField */ public function testAddAndGetHeaderField() { $headerField = new GenericHeaderField("Host", "brickoo.com"); $messageHeader = new HttpMessageHeader(); $messageHeader->addField($headerField); $this->assertSame($headerField, $messageHeader->getField("Host")); }
/** * Return the IIS request ur assigned if available. * @return string|null the request uri or null on unavailable */ private function getIisRequestUri() { if ($this->header->contains("X-Original-Url")) { return $this->header->getField("X-Original-Url")->getValue(); } if ($this->header->contains("X-Rewrite-Url")) { return $this->header->getField("X-Rewrite-Url")->getValue(); } return null; }
/** * Return the forwarded client ip. * @return null|string */ private function getForwardedClientIp() { $clientIp = null; if ($this->httpHeader->contains("X-Forwarded-For") && ($forwardedIps = $this->httpHeader->getField("X-Forwarded-For")->getValue())) { $forwardedIps = array_filter(preg_split("/[\\s]*,[\\s]*/", $forwardedIps), function ($ipToValidate) { return filter_var($ipToValidate, FILTER_VALIDATE_IP); }); if (!empty($forwardedIps)) { $clientIp = array_shift($forwardedIps); } } return $clientIp; }