Example #1
0
 /**
  * Return all header parameters or a single header parameter.
  *
  * @param  string $header Header name to retrieve, or null to get all.
  * @param  mixed $default Default value to use when the requested header is missing.
  * @return null|\Zend\Http\Header\HeaderInterface
  */
 public function fromHeader($header = null, $default = null)
 {
     if ($header === null) {
         return $this->request->getHeaders($header, $default)->toArray();
     }
     return $this->request->getHeaders($header, $default);
 }
 /**
  * Check if request has certain content/Accept type of RestApi
  *
  * @param  Request $request
  * @return bool
  */
 public function requestCheckEventType(Request $request)
 {
     $headers = $request->getHeaders();
     if (!$headers->has('Accept')) {
         // can't determine what we can accept
         return false;
     }
     $accept = $headers->get('Accept')->toString();
     if (stripos($accept, 'application/json') == false) {
         // does not match JSON
         return false;
     }
     return true;
 }
 /**
  * Check if request has certain content type
  *
  * @return boolean
  */
 public function requestHasContentType(Request $request, $contentType = '')
 {
     /** @var $headerContentType \Zend\Http\Header\ContentType */
     $headerContentType = $request->getHeaders()->get('content-type');
     if (!$headerContentType) {
         return false;
     }
     $requestedContentType = $headerContentType->getFieldValue();
     if (strstr($requestedContentType, ';')) {
         $headerData = explode(';', $requestedContentType);
         $requestedContentType = array_shift($headerData);
     }
     $requestedContentType = trim($requestedContentType);
     if (array_key_exists($contentType, $this->contentTypes)) {
         foreach ($this->contentTypes[$contentType] as $contentTypeValue) {
             if (stripos($contentTypeValue, $requestedContentType) === 0) {
                 return true;
             }
         }
     }
     return false;
 }