def parse_request_uri(self, uri):
        if uri == ASTERISK:
            return None, None, uri

        scheme, sep, remainder = uri.partition(b'://')
        if sep and QUESTION_MARK not in scheme:
            # An absoluteURI.
            # If there's a scheme (and it must be http or https), then:
            # http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
            authority, path_a, path_b = remainder.partition(FORWARD_SLASH)
            return scheme.lower(), authority, path_a+path_b

        if uri.startswith(FORWARD_SLASH):
            # An abs_path.
            return None, None, uri
        else:
            # An authority.
            return None, uri, None
Returns a tuple of the following:
dataset/ETHPy150Open timonwong/OmniMarkupPreviewer/OmniMarkupLib/libs/cherrypy/wsgiserver/wsgiserver3.py/HTTPRequest.parse_request_uri--crossover with--dataset/ETHPy150Open pyokagan/gyp/pylib/gyp/generator/analyzer.py/_GenerateTargets