def query(
        self, queryEngine, query_str, vendorSpecific=None, do_post=False, **kwargs
    ):
        """See Also: queryResponse()

        Args:
          queryEngine:
          query_str:
          vendorSpecific:
          do_post:
          **kwargs:

        Returns:

        """
        response = self.queryResponse(
            queryEngine, query_str, vendorSpecific, do_post, **kwargs
        )
        if self._content_type_is_json(response):
            return self._read_json_response(response)
        else:
            return self._read_stream_response(response)