From 04d91d6e20ce2bdb01703c1ad1ac3073f237e42e Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 4 Jul 2026 22:37:16 +0200 Subject: added bulk string parsing --- main.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index 5db75f3..a2ace56 100644 --- a/main.go +++ b/main.go @@ -172,7 +172,26 @@ func parseRESP(reader *bufio.Reader) ([]string, error) { args = append(args, string(buf)) } return args, nil + case '$': + strLen, _ := strconv.Atoi(strings.TrimSpace(line[1:])) + if strLen == -1 { + return []string{""}, nil + } + + buf := make([]byte, strLen) + + _, err = io.ReadFull(reader, buf) + if err != nil { + return nil, err + } + + _, err = reader.Discard(2) + if err != nil { + return nil, err + } + + return []string{string(buf)}, nil case '+': cleanStr := strings.TrimSpace(line[1:]) return []string{cleanStr}, nil -- cgit v1.2.3