Пример #1
0
 /**
  * @param MediaTypeInterface                $mediaType
  * @param SupportedExtensionsInterface|null $supportedExtensions
  *
  * @return string
  */
 private function getContentTypeHeader(MediaTypeInterface $mediaType, SupportedExtensionsInterface $supportedExtensions = null)
 {
     $contentType = $mediaType->getMediaType();
     $params = $mediaType->getParameters();
     $supExt = $supportedExtensions === null ? null : $supportedExtensions->getExtensions();
     $separator = ';';
     if (isset($params[MediaTypeInterface::PARAM_EXT])) {
         $ext = $params[MediaTypeInterface::PARAM_EXT];
         if (empty($ext) === false) {
             $contentType .= $separator . MediaTypeInterface::PARAM_EXT . '="' . $ext . '"';
             $separator = ',';
         }
     }
     empty($supExt) === true ?: ($contentType .= $separator . MediaTypeInterface::PARAM_SUPPORTED_EXT . '="' . $supExt . '"');
     return $contentType;
 }
Пример #2
0
 /**
  * @param MediaTypeInterface $mediaType
  *
  * @return bool
  */
 private function isMediaParametersEqual(MediaTypeInterface $mediaType)
 {
     if ($this->getParameters() === null && $mediaType->getParameters() === null) {
         return true;
     } elseif ($this->getParameters() !== null && $mediaType->getParameters() !== null) {
         $intersect = array_intersect($this->getParameters(), $mediaType->getParameters());
         return count($this->getParameters()) === count($intersect);
     }
     return false;
 }
Пример #3
0
 /**
  * @param MediaTypeInterface $mediaType
  *
  * @return bool
  */
 private function bothMediaTypeParamsNotEmptyAndEqualInSize(MediaTypeInterface $mediaType)
 {
     $pr1 = $this->getParameters();
     $pr2 = $mediaType->getParameters();
     return empty($pr1) === false && empty($pr2) === false && count($pr1) === count($pr2);
 }