コード例 #1
0
ファイル: RequestFactory.php プロジェクト: dkulyk/json-rpc
 /**
  * @param object $requestData
  *
  * @throws Exception\JsonRpcException
  *
  * @return Request
  */
 public function createRequest($requestData)
 {
     if (!is_object($requestData)) {
         throw new Exception\BadRequestException();
     }
     if (!isset($requestData->jsonrpc) || $requestData->jsonrpc !== '2.0') {
         throw new Exception\BadRequestException();
     }
     if (empty($requestData->method) || !is_string($requestData->method)) {
         throw new Exception\BadRequestException();
     }
     $params = null;
     if (!empty($requestData->params)) {
         if (is_array($requestData->params)) {
             $params = RequestParams::constructPositional($requestData->params);
         } elseif (is_object($requestData->params)) {
             $params = RequestParams::constructNamed((array) $requestData->params);
         } else {
             throw new Exception\BadRequestException();
         }
     }
     return new Request($requestData->method, $params, isset($requestData->id) ? $requestData->id : null);
 }