Ejemplo n.º 1
0
 public function accept(MediaType $contentType)
 {
     if ($this->contentType === null) {
         return true;
     } elseif (is_string($this->contentType)) {
         return $this->contentType == $contentType->getName();
     } elseif (is_callable($this->contentType)) {
         return call_user_func_array($this->contentType, array($contentType));
     }
     return false;
 }
Ejemplo n.º 2
0
 public function accept(MediaType $contentType)
 {
     return in_array($contentType->getName(), MediaType\Xml::getMediaTypes()) || substr($contentType->getSubType(), -4) == '+xml' || substr($contentType->getSubType(), -4) == '/xml';
 }
Ejemplo n.º 3
0
Archivo: Jsonx.php Proyecto: seytar/psx
 public function isContentTypeSupported(MediaType $contentType)
 {
     return $contentType->getName() == self::$mime;
 }
Ejemplo n.º 4
0
Archivo: Jsonx.php Proyecto: seytar/psx
 public function accept(MediaType $contentType)
 {
     return $contentType->getName() == 'application/jsonx+xml';
 }
Ejemplo n.º 5
0
Archivo: Form.php Proyecto: seytar/psx
 public function isContentTypeSupported(MediaType $contentType)
 {
     return $contentType->getName() == 'application/x-www-form-urlencoded';
 }
Ejemplo n.º 6
0
 /**
  * Returns the fitting writer according to the content negotiation. If no
  * fitting writer could be found null gets returned
  *
  * @param \PSX\Http\MediaType $contentType
  * @param array $supportedWriter
  * @return \PSX\Data\WriterInterface
  */
 protected function getWriterFromContentNegotiation(MediaType $contentType, array $supportedWriter = null)
 {
     if (empty($this->contentNegotiation)) {
         return null;
     }
     foreach ($this->contentNegotiation as $acceptedContentType => $writerClass) {
         if ($supportedWriter !== null && !in_array($writerClass, $supportedWriter)) {
             continue;
         }
         $acceptedContentType = new MediaType($acceptedContentType);
         if ($acceptedContentType->match($contentType)) {
             $writer = $this->getWriterByInstance($writerClass);
             if ($writer !== null) {
                 return $writer;
             }
         }
     }
     return null;
 }
Ejemplo n.º 7
0
 /**
  * Checks whether the given media type would match
  *
  * @param \PSX\Http\MediaType $mediaType
  * @return boolean
  */
 public function match(MediaType $mediaType)
 {
     return $this->type == '*' && $this->subType == '*' || $this->type == $mediaType->getType() && $this->subType == $mediaType->getSubType() || $this->type == $mediaType->getType() && $this->subType == '*';
 }
Ejemplo n.º 8
0
Archivo: Xml.php Proyecto: seytar/psx
 public static function isMediaType(MediaType $mediaType)
 {
     return in_array($mediaType->getName(), self::$mediaTypes) || substr($mediaType->getSubType(), -4) == '+xml' || substr($mediaType->getSubType(), -4) == '/xml';
 }