예제 #1
0
 public static function handleRequest($namespace, $singleJsonRequest)
 {
     $methodRaw = $singleJsonRequest['method'];
     list($namespace, $method) = self::getNamespaceAndMethod($namespace, $methodRaw);
     $singleJsonRequest['method'] = $method;
     $server = new JsonServerService($namespace, (bool) GeneralUtility::_GP('smd'));
     $request = new Request();
     $request->setOptions($singleJsonRequest);
     $server->handle($request);
 }
예제 #2
0
 /**
  * Create request object.
  *
  * @param  string $method Method to call.
  * @param  array $params List of arguments.
  * @return Request Created request.
  */
 protected function createRequest($method, array $params)
 {
     $request = new Request();
     $request->setMethod($method)->setParams($params)->setId(++$this->id);
     return $request;
 }
예제 #3
0
파일: Server.php 프로젝트: buse974/jrpc
 /**
  * 
  * @return string|\JRpc\Json\Server\ResponseSet|NULL|\Zend\Json\Server\Response
  */
 public function multiHandle()
 {
     $input = $this->readInput();
     $post = Json\Json::decode($input, Json\Json::TYPE_ARRAY);
     if ($input[0] === '[') {
         $content = new ResponseSet();
         foreach ($post as $p) {
             $this->request = null;
             $this->response = null;
             $request = new Request();
             $request->setOptions($p);
             $request->setVersion(self::VERSION_2);
             $this->setRequest($request);
             $content->append($this->handle());
         }
     } else {
         $request = new Request();
         $request->setOptions($post);
         $request->setVersion(self::VERSION_2);
         $this->setRequest($request);
         $content = $this->handle();
     }
     return $content;
 }