/** * @covers Brickoo\Component\Http\HttpMessageHeader::toString * @covers Brickoo\Component\Http\HttpHeaderFieldNameNormalizer::normalize */ public function testToString() { $expectedString = "Host: brickoo.com\r\n"; $messageHeader = new HttpMessageHeader(); $messageHeader->addField(new GenericHeaderField("Host", "brickoo.com")); $this->assertEquals($expectedString, $messageHeader->toString()); }
/** * 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; }
/** * Creates a message header object containing passed header fields. * @param array $messageHeaderFields instances of \Brickoo\Component\Http\HttpHeaderField * @throws \InvalidArgumentException * @return \Brickoo\Component\Http\HttpMessageHeader */ private function createMessageHeader(array $messageHeaderFields) { $messageHeader = new HttpMessageHeader(); $messageHeader->fromArray($messageHeaderFields); return $messageHeader; }