Example #1
0
 /**
  * Builds a Json ExtDirect request by reading the transaction data from
  * the HTTP request body.
  *
  * @param \TYPO3\Flow\Http\Request $httpRequest The HTTP request
  * @return \TYPO3\ExtJS\ExtDirect\Request The Ext Direct request object
  * @throws \TYPO3\ExtJS\ExtDirect\Exception\InvalidExtDirectRequestException
  */
 protected function buildJsonRequest(\TYPO3\Flow\Http\Request $httpRequest)
 {
     $allTransactionData = json_decode($httpRequest->getContent());
     if ($allTransactionData === NULL) {
         throw new \TYPO3\ExtJS\ExtDirect\Exception\InvalidExtDirectRequestException('The request is not a valid Ext Direct request', 1268490738);
     }
     if (!is_array($allTransactionData)) {
         $allTransactionData = array($allTransactionData);
     }
     $extDirectRequest = new Request($httpRequest);
     foreach ($allTransactionData as $singleTransactionData) {
         $extDirectRequest->createAndAddTransaction($singleTransactionData->action, $singleTransactionData->method, is_array($singleTransactionData->data) ? $singleTransactionData->data : array(), $singleTransactionData->tid);
     }
     return $extDirectRequest;
 }