Return 'nil' when value is not found

This commit is contained in:
Kelvin Clement Mwinuka
2023-07-02 07:31:56 +08:00
parent 04f0d92a95
commit 6f8a84ed48

View File

@@ -60,6 +60,8 @@ func processGet(cmd []string, connRW *bufio.ReadWriter, server *Server) {
switch server.data.data[cmd[1]].(type) { switch server.data.data[cmd[1]].(type) {
default: default:
fmt.Println("Error. The requested object's type cannot be returned with the GET command") fmt.Println("Error. The requested object's type cannot be returned with the GET command")
case nil:
serialization.Encode(connRW, "SimpleString nil")
case string: case string:
serialization.Encode(connRW, fmt.Sprintf("SimpleString \"%s\"", server.data.data[cmd[1]])) serialization.Encode(connRW, fmt.Sprintf("SimpleString \"%s\"", server.data.data[cmd[1]]))
case float64: case float64:
@@ -80,6 +82,8 @@ func processMGet(cmd []string, connRW *bufio.ReadWriter, server *Server) {
for _, key := range cmd[1:] { for _, key := range cmd[1:] {
switch server.data.data[key].(type) { switch server.data.data[key].(type) {
case nil:
vals = append(vals, "nil")
case string: case string:
vals = append(vals, fmt.Sprintf("%s", server.data.data[key])) vals = append(vals, fmt.Sprintf("%s", server.data.data[key]))
case float64: case float64: