()
| 183 | } |
| 184 | |
| 185 | func (d *Decoder) decodeArray() ([]*Resp, error) { |
| 186 | n, err := d.decodeInt() |
| 187 | if err != nil { |
| 188 | return nil, err |
| 189 | } |
| 190 | switch { |
| 191 | case n < -1: |
| 192 | return nil, errors.Trace(ErrBadArrayLen) |
| 193 | case n > MaxArrayLen: |
| 194 | return nil, errors.Trace(ErrBadArrayLenTooLong) |
| 195 | case n == -1: |
| 196 | return nil, nil |
| 197 | } |
| 198 | array := make([]*Resp, n) |
| 199 | for i := range array { |
| 200 | r, err := d.decodeResp() |
| 201 | if err != nil { |
| 202 | return nil, err |
| 203 | } |
| 204 | array[i] = r |
| 205 | } |
| 206 | return array, nil |
| 207 | } |
| 208 | |
| 209 | func (d *Decoder) decodeSingleLineMultiBulk() ([]*Resp, error) { |
| 210 | b, err := d.decodeTextBytes() |
no test coverage detected