Pārlūkot izejas kodu

Support the different replies of CONFIG GET|SET|RESETSTAT.

Daniele Alessandri 13 gadi atpakaļ
vecāks
revīzija
5680cd40b5
2 mainītis faili ar 27 papildinājumiem un 2 dzēšanām
  1. 1 1
      TODO
  2. 26 1
      lib/Predis/Commands/ServerConfig.php

+ 1 - 1
TODO

@@ -13,4 +13,4 @@
 
 * Missing tests for commands:
     PUBLISH, SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, DEBUG, OBJECT,
-    CLIENT
+    CLIENT, CONFIG GET, CONFIG SET, CONFIG RESETSTAT

+ 26 - 1
lib/Predis/Commands/ServerConfig.php

@@ -11,8 +11,12 @@
 
 namespace Predis\Commands;
 
+use Predis\Iterators\MultiBulkResponseTuple;
+
 /**
- * @link http://redis.io/commands/config
+ * @link http://redis.io/commands/config-set
+ * @link http://redis.io/commands/config-get
+ * @link http://redis.io/commands/config-resetstat
  * @author Daniele Alessandri <suppakilla@gmail.com>
  */
 class ServerConfig extends Command
@@ -40,4 +44,25 @@ class ServerConfig extends Command
     {
         return false;
     }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function parseResponse($data)
+    {
+        if ($data instanceof \Iterator) {
+            return new MultiBulkResponseTuple($data);
+        }
+
+        if (is_array($data)) {
+            $result = array();
+            for ($i = 0; $i < count($data); $i++) {
+                $result[$data[$i]] = $data[++$i];
+            }
+
+            return $result;
+        }
+
+        return $data;
+    }
 }