docs: def request(self, location, fragment_enc=False):
          """
          Given a URL this method will add a fragment, a query part or extend
          a query part if it already exists with the information in this instance.
          
          :param location: A URL 
          :param fragment_enc: Whether the information should be placed in a
              fragment (True) or in a query part (False)
          :return: The extended URL 
          """
          _l = as_unicode(location)
          _qp = as_unicode(self.to_urlencoded())
          if fragment_enc:
              return "%s#%s" % (_l, _qp)
          else:
              if "?" in location:
                  return "%s&%s" % (_l, _qp)
              else:
                  return "%s?%s" % (_l, _qp)