docs: def _rest_request_to_json(self, address, auth, ssl_verify, object_path, service_name, tags=None, *args, **kwargs):
          """
          Query the given URL and return the JSON response
          """
          response_json = None
          tags = [] if tags is None else tags
  
          service_check_tags = ['url:{}'.format(self._get_url_base(address))] + tags
  
          url = address
  
          if object_path:
              url = self._join_url_dir(url, object_path)
  
          # Add args to the url
          if args:
              for directory in args:
                  url = self._join_url_dir(url, directory)
  
          self.log.debug('Attempting to connect to "{}"'.format(url))
  
          # Add kwargs as arguments
          if kwargs:
              query = '&'.join(['{}={}'.format(key, value) for key, value in iteritems(kwargs)])
              url = urljoin(url, '?' + query)
  
          try:
              response = requests.get(url, auth=auth, verify=ssl_verify, timeout=self.default_integration_http_timeout)
              response.raise_for_status()
              response_json = response.json()
  
          except Timeout as e:
              self.service_check(
                  service_name,
                  AgentCheck.CRITICAL,
                  tags=service_check_tags,
                  message="Request timeout: {}, {}".format(url, e),
              )
              raise
  
          except (HTTPError, InvalidURL, ConnectionError) as e:
              self.service_check(
                  service_name,
                  AgentCheck.CRITICAL,
                  tags=service_check_tags,
                  message="Request failed: {}, {}".format(url, e),
              )
              raise
  
          except JSONDecodeError as e:
              self.service_check(
                  service_name,
                  AgentCheck.CRITICAL,
                  tags=service_check_tags,
                  message="JSON Parse failed: {}, {}".format(url, e),
              )
              raise
  
          except ValueError as e:
              self.service_check(service_name, AgentCheck.CRITICAL, tags=service_check_tags, message=str(e))
              raise
  
          return response_json