def _request(self, path: str, query_params: dict={}):
        """Specialized wrapper arround the requests module to request data from Onyphe
        :param path: The URL path after the onyphe FQDN
        :type path: str
        :param query_params: The dictionnary of query parameters that gets appended to the URL
        :type query_params: str
        """
        query_params["apikey"] = self.api_key
        url = urljoin(self.base_url, path)
        response = self._session.get(url=url, data=query_params)

        if response.status_code == 429:
            raise APIRateLimiting(response.text)
        try:
            response_data = response.json()
        except:
            raise APIError("Couldn't parse response JSON")

        if response_data["error"] > 0:
            raise APIError("got error {}: {}".format(
                response_data["error"], response_data["message"]))

        return response_data
Specialized wrapper arround the requests module to request data from Onyphe
        :param path: The URL path after the onyphe FQDN
        :type path: str
        :param query_params: The dictionnary of query parameters that gets appended to the URL
        :type query_params: str