示例#1
0
文件: Extractor.php 项目: seytar/psx
 /**
  * Extracts the body from an http message and transforms the data into an
  * array structure
  *
  * @param \PSX\Http\MessageInterface $message
  * @param \PSX\Data\TransformerInterface $transformer
  * @param string $readerType
  * @return array
  */
 public function extract(MessageInterface $message, TransformerInterface $transformer = null, $readerType = null)
 {
     $contentType = $message->getHeader('Content-Type');
     $reader = $this->getRequestReader($contentType, $readerType);
     $data = $reader->read($message);
     // get transformer
     if ($transformer === null) {
         $transformer = $this->transformerManager->getTransformerByContentType($contentType);
     }
     if ($transformer instanceof TransformerInterface) {
         $data = $transformer->transform($data);
     }
     return $data;
 }