Example #1
0
 /**
  * Predicate that determines whether the requested accept
  * types match this mime type.
  *
  * @param Request $request the request object to check
  *
  * @return bool true if the accept header matches
  */
 public function matchAcceptTypes(Request $request)
 {
     $acceptTypes = $request->getPreferredAcceptTypes();
     foreach ($acceptTypes as $preferredType) {
         $preferredString = $preferredType['type'];
         if (!empty($preferredType['subType'])) {
             $preferredString .= '/' . $preferredType['subType'];
         }
         if (!empty($preferredType['baseType'])) {
             $preferredString .= '+' . $preferredType['baseType'];
         }
         foreach ($this->mimeTypes as $type) {
             if (strcasecmp($type, $preferredString) === 0) {
                 return true;
             }
         }
     }
     return false;
 }