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