Source for file jJsonRpcRequest.class.php

Documentation is available at jJsonRpcRequest.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  core_request
  5. @author      Laurent Jouanneau
  6. @copyright   2005-2007 Laurent Jouanneau
  7. @link        http://www.jelix.org
  8. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  9. */
  10.  
  11. /**
  12.  * the jJsonRpcRequest require jJsonRpc class
  13.  */
  14. require(JELIX_LIB_UTILS_PATH.'jJsonRpc.class.php');
  15.  
  16. /**
  17. * handle a JSON-rpc call. The response has to be a json rpc response.
  18. @package  jelix
  19. @subpackage core_request
  20. */
  21. class jJsonRpcRequest extends jRequest {
  22.  
  23.     public $type = 'jsonrpc';
  24.  
  25.     public $defaultResponseType = 'jsonrpc';
  26.  
  27.     public $jsonRequestId=null;
  28.  
  29.     /**
  30.      * analyse the http request and set the params property
  31.      */
  32.     protected function _initParams(){
  33.         global $HTTP_RAW_POST_DATA;
  34.         if(isset($HTTP_RAW_POST_DATA)){
  35.             $request $HTTP_RAW_POST_DATA;
  36.         }else{
  37.             $request file('php://input');
  38.             $request implode("\n",$request);
  39.         }
  40.  
  41.         // Décodage de la requete
  42.         $requestobj jJsonRpc::decodeRequest($request);
  43.         if($requestobj['method']){
  44.             list($module$actionexplode('~',$requestobj['method']);
  45.         }else{
  46.             $module='';
  47.             $action='';
  48.         }
  49.         if(isset$requestobj['id']))
  50.             $this->jsonRequestId = $requestobj['id'];
  51.  
  52.         if(is_array($requestobj['params']))
  53.             $this->params = $requestobj['params'];
  54.  
  55.         $this->params['params'$requestobj['params'];
  56.  
  57.         // Définition de l'action a executer et des paramètres
  58.         $this->params['module'$module;
  59.         $this->params['action'$action;
  60.     }
  61.  
  62.     public function isAllowedResponse($respclass){
  63.         return ('jResponseJsonrpc' == $respclass || 'jResponseRedirect' == $respclass);
  64.     }
  65.  
  66. }

Documentation generated on Thu, 19 Sep 2013 00:06:08 +0200 by phpDocumentor 1.4.3