Returns the request URL element of the URL.
        This request URL is the path, the query and the fragment appended as a relative URL to the host.
        The request URL always contains at least a leading slash.

def request_uri(self):
        """Returns the request URL element of the URL.
        This request URL is the path, the query and the fragment appended as a relative URL to the host.
        The request URL always contains at least a leading slash.
        """
        result = '/{0}'.format(self.path.lstrip('/'))
        if self.query is not None and self.query != '' and self.query != {}:
            result += '?{0}'.format(self.encoded_query())
        if self.fragment is not None and self.fragment != '':
            result += '#{0}'.format(self.fragment)
        return result