|
||||
Coverage | |||||||||||||
Classes | Functions / Methods | Lines | |||||||||||
Total |
|
100.00% | 1 / 1 |
|
100.00% | 4 / 4 | CRAP |
|
100.00% | 16 / 16 | |||
Json_rpc |
|
100.00% | 1 / 1 |
|
100.00% | 4 / 4 |
|
100.00% | 16 / 16 | ||||
call($method, $params) |
|
100.00% | 1 / 1 | 2 |
|
100.00% | 9 / 9 | ||||||
generateId() |
|
100.00% | 1 / 1 | 2 |
|
100.00% | 5 / 5 | ||||||
encode($data) |
|
100.00% | 1 / 1 | 1 |
|
100.00% | 1 / 1 | ||||||
decode($data) |
|
100.00% | 1 / 1 | 1 |
|
100.00% | 1 / 1 |
1 : <?php 2 : /** 3 : * Fitxer que defineix la clase Json_Rpc 4 : * @package WSFW 5 : */ 6 : 7 : /** 8 : * Json_rpc defineix la clase que implementa Json-RPC 9 : * @var string $request_url URL de la petició 10 : * @var estructura $request Petició (mètode i paràmetres) 11 : */ 12 : class Json_rpc extends Rpc { 13 : 14 : /** 15 : * Crida a un mètode del WS 16 : * Defineix els paràmetres necessàris per complir amb l'especificació de Json-RPC de Google 17 : * Genera la ID per la crida i comprova que la resposta coincideixi 18 : * Fa la crida RPC 19 : * @param string $method Nom del mètode 20 : * @param estructura $params Paràmetres de la crida 21 : * @return estructura Resposta 22 : */ 23 : public function call($method, $params) { 24 1 : parent::call($method, $params); 25 1 : $_data["params"] = $params; 26 1 : $_data["jsonrpc"] = "2.0"; 27 1 : $_data["method"] = $method; 28 1 : $_data["id"] = $this->generateId(); 29 1 : $data = $this->rpc_call($_data); 30 1 : if ($data["id"] != $id) 31 1 : return error("Error en la ID de la petición JSON"); 32 1 : return $data; 33 : } 34 : 35 : /** 36 : * Genera una ID aleatòria 37 : * @return string Identificador aleatori 38 : */ 39 : private function generateId() { 40 1 : $chars = array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9)); 41 1 : $id = ''; 42 1 : for($c = 0; $c < 16; ++$c) 43 1 : $id .= $chars[mt_rand(0, count($chars) - 1)]; 44 1 : return $id; 45 : } 46 : 47 : /** 48 : * Funció de codificació de la crida en Json 49 : * @param estructura $data Estructura a codificar 50 : * @return string Estructura codificada 51 : */ 52 : protected function encode($data) { 53 2 : return json_encode($data); 54 : } 55 : 56 : /** 57 : * Funció de codificació de la resposta en Json 58 : * @param string $data Estructura a descodificar 59 : * @return estructura Estructura descodificada 60 : */ 61 : protected function decode($data) { 62 5 : return json_decode($data,true); 63 : } 64 : 65 : } 66 : 67 : ?> |
Generated by PHP_CodeCoverage 1.0.3 using PHP 5.3.3-7 and PHPUnit 3.5.5 at Tue Jan 25 2:17:13 CET 2011. |