def request(self, location, fragment_enc=False):
_l = as_unicode(location)<EOL>_qp = as_unicode(self.to_urlencoded())<EOL>if fragment_enc:<EOL><INDENT>return "<STR_LIT>" % (_l, _qp)<EOL><DEDENT>else:<EOL><INDENT>if "<STR_LIT:?>" in location:<EOL><INDENT>return "<STR_LIT>" % (_l, _qp)<EOL><DEDENT>else:<EOL><INDENT>return "<STR_LIT>" % (_l, _qp)<EOL><DEDENT><DEDENT>
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