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

Documentation generated on Thu, 22 Mar 2012 22:16:25 +0100 by phpDocumentor 1.4.3