/** * Normalize headers to use with HeaderAwareResponseInterface. * * Ensures multi-value headers are represented as a single string, via * comma concatenation. * * @param Headers $headers * @return array */ private function prepareResponseHeaders(Headers $headers) { $normalized = []; foreach ($headers->toArray() as $name => $value) { $normalized[$name] = is_array($value) ? implode(', ', $value) : $value; } return $normalized; }
/** * Retrieve Mobile-detect service * @param \Zend\Http\Headers $oHeaders * @return \Mobile_Detect */ public function __invoke(\Zend\Http\Headers $oHeaders = null) { $oMobileDetect = $this->getServiceLocator()->getServiceLocator()->get('MobileDetect'); if ($oHeaders) { $oMobileDetect->setHttpHeaders($oHeaders->toArray()); $oMobileDetect->setUserAgent($oHeaders->get('user-agent')->getFieldValue()); } return $oMobileDetect; }
/** * Retrieve Mobile-detect service * * @param \Zend\Http\Headers $oHeaders * * @throws \LogicException * @return \Mobile_Detect */ public function __invoke(\Zend\Http\Headers $oHeaders = null) { $oController = $this->getController(); if (!$oController) { throw new \LogicException('Controller is undefined for MobileDetect controller plugin'); } if ($oHeaders) { $this->mobileDetect->setHttpHeaders($oHeaders->toArray()); $this->mobileDetect->setUserAgent($oHeaders->get('user-agent')->getFieldValue()); } return $this->mobileDetect; }
public function testHeadersCanBeCastToArray() { $headers = new Headers(); $headers->addHeaders(array('Foo' => 'bar', 'Baz' => 'baz')); $this->assertEquals(array('Foo' => 'bar', 'Baz' => 'baz'), $headers->toArray()); }
public function testCastingToArrayReturnsMultiHeadersAsArrays() { $headers = new Headers(); $cookie1 = new Header\SetCookie('foo', 'bar'); $cookie2 = new Header\SetCookie('bar', 'baz'); $headers->addHeader($cookie1); $headers->addHeader($cookie2); $array = $headers->toArray(); $expected = array('Set-Cookie' => array($cookie1->getFieldValue(), $cookie2->getFieldValue())); $this->assertEquals($expected, $array); }
/** * Retrieve Mobile-detect service * * @param \Zend\Http\Headers $oHeaders * * @return \Mobile_Detect */ public function __invoke(\Zend\Http\Headers $oHeaders = null) { if ($oHeaders) { $this->mobileDetect->setHttpHeaders($oHeaders->toArray()); $this->mobileDetect->setUserAgent($oHeaders->get('user-agent')->getFieldValue()); } return $this->mobileDetect; }