code: def read_response(self):
          "Read the response from a previously sent command"
          try:
              response = self._parser.read_response()
          except socket.timeout:
              self.disconnect()
              raise TimeoutError("Timeout reading from %s:%s" %
                                 (self.host, self.port))
          except socket.error:
              self.disconnect()
              e = sys.exc_info()[1]
              raise ConnectionError("Error while reading from %s:%s : %s" %
                                    (self.host, self.port, e.args))
          except:  # noqa: E722
              self.disconnect()
              raise
          if isinstance(response, ResponseError):
              raise response
          return responsf read_response(self):
          "Read the response from a previously sent command"
          try:
              response = self._parser.read_response()
          except socket.timeout:
              self.disconnect()
              raise TimeoutError("Timeout reading from %s:%s" %
                                 (self.host, self.port))
          except socket.error:
              self.disconnect()
              e = sys.exc_info()[1]
              raise ConnectionError("Error while reading from %s:%s : %s" %
                                    (self.host, self.port, e.args))
          except:  # noqa: E722
              self.disconnect()
              raise
          if isinstance(response, ResponseError):
              raise response
          return response
docs: Read the response from a previously sent command