code: def _url(self, endpoint, path=None):
          
  
          log.debug('_url called with endpoint: {0} and path: {1}'.format(
              endpoint, path))
  
          try:
              endpoint = ENDPOINTS[endpoint]
          except KeyError:
              # If we reach this we're trying to query an endpoint that doesn't
              # exist. This shouldn't happen unless someone made a booboo.
              raise APIError
  
          url = '{base_url}/{endpoint}'.format(
              base_url=self.base_url,
              endpoint=endpoint,
          )
  
          if path is not None:
              url = '{0}/{1}'.format(url, quote(path))
  
          return url
docs: The complete URL we will end up querying. Depending on the
          endpoint we pass in  this will result in different URL's with
          different prefixes.
  
          :param endpoint: The PuppetDB API endpoint we want to query.
          :type endpoint: :obj:`string`
          :param path: An additional path if we don't wish to query the\
                  bare endpoint.
          :type path: :obj:`string`
  
          :returns: A URL constructed from :func:`base_url` with the\
                  apropraite API version/prefix and the rest of the path added\
                  to it.
          :rtype: :obj:`string`