/** * @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; }
/** * @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; }
/** * @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); }