code: def _build_url(self, query_params):
          
          url = ''
          count = 0
          while count < len(self._url_path):
              url += '/{}'.format(self._url_path[count])
              count += 1
  
          # add slash
          if self.append_slash:
              url += '/'
  
          if query_params:
              url_values = urlencode(sorted(query_params.items()), True)
              url = '{}?{}'.format(url, url_values)
  
          if self._version:
              url = self._build_versioned_url(url)
          else:
              url = '{}{}'.format(self.host, url)
          return url
docs: Build the final URL to be passed to urllib
  
          :param query_params: A dictionary of all the query parameters
          :type query_params: dictionary
          :return: string