code: def parse_request_uri(self, uri):
          
          if uri == "*":
              return None, None, uri
          
          i = uri.find('://')
          if i > 0 and '?' not in uri[:i]:
              # An absoluteURI.
              # If there's a scheme (and it must be http or https), then:
              # http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
              scheme, remainder = uri[:i].lower(), uri[i + 3:]
              authority, path = remainder.split("/", 1)
              return scheme, authority, path
          
          if uri.startswith('/'):
              # An abs_path.
              return None, None, uri
          else:
              # An authority.
              return None, uri, None
docs: Parse a Request-URI into (scheme, authority, path).
          
          Note that Request-URI's must be one of::
              
              Request-URI    = "*" | absoluteURI | abs_path | authority
          
          Therefore, a Request-URI which starts with a double forward-slash
          cannot be a "net_path"::
          
              net_path      = "//" authority [ abs_path ]
          
          Instead, it must be interpreted as an "abs_path" with an empty first
          path segment::
          
              abs_path      = "/"  path_segments
              path_segments = segment *( "/" segment )
              segment       = *pchar *( ";" param )
              param         = *pchar