code: def _receive_all(self):
          
          (data, part) = ('', '')
          if is_py3:
              crlf_bytes = bytes(self.__CRLF, encoding=self.__encoding)
          else:
              crlf_bytes = self.__CRLF
  
          while self._running and part[-2:] != crlf_bytes:
              try:
                  part = self._socket.recv(self.buffer_size)
              except (socket.timeout, socket.error) as e:
                  if self._running:
                      self.stop()
                      raise SocketError('[Connect: %s]: Socket %s' % (self._unique_id, e))
                  else:
                      return  # 133, prevents error if stop is called mid recv
  
              # an empty string indicates the server shutdown the socket
              if len(part) == 0:
                  self.stop()
                  raise SocketError('Connection closed by server')
  
              data += part.decode(self.__encoding)
          return data
docs: Whilst socket is running receives data from socket,
          till CRLF is detected.