code: func (r *ServerResponse) Decode(reader *bufio.Reader, isMultiACK bool) error {
  	// TODO: implement support for multi_ack or multi_ack_detailed responses
  	if isMultiACK {
  		return errors.New("multi_ack and multi_ack_detailed are not supported")
  	}
  
  	s := pktline.NewScanner(reader)
  
  	for s.Scan() {
  		line := s.Bytes()
  
  		if err := r.decodeLine(line); err != nil {
  			return err
  		}
  
  		// we need to detect when the end of a response header and the beginning
  		// of a packfile header happened, some requests to the git daemon
  		// produces a duplicate ACK header even when multi_ack is not supported.
  		stop, err := r.stopReading(reader)
  		if err != nil {
  			return err
  		}
  
  		if stop {
  			break
  		}
  	}
  
  	return s.Err()
  }
docs: // Decode decodes the response into the struct, isMultiACK should be true, if
  // the request was done with multi_ack or multi_ack_detailed capabilities.