コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 /**
  * 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;
 }
コード例 #3
0
 /**
  * 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;
 }
コード例 #4
0
ファイル: HeadersTest.php プロジェクト: JojoBombardo/zf2
 public function testHeadersCanBeCastToArray()
 {
     $headers = new Headers();
     $headers->addHeaders(array('Foo' => 'bar', 'Baz' => 'baz'));
     $this->assertEquals(array('Foo' => 'bar', 'Baz' => 'baz'), $headers->toArray());
 }
コード例 #5
0
ファイル: HeadersTest.php プロジェクト: navassouza/zf2
 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);
 }
コード例 #6
-2
 /**
  * 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;
 }