docs: def modify_request(self, http_request=None):
      """Sets HTTP request components based on the URI."""
      if http_request is None:
        http_request = HttpRequest()
      if http_request.uri is None:
        http_request.uri = Uri()
      # Determine the correct scheme.
      if self.scheme:
        http_request.uri.scheme = self.scheme
      if self.port:
        http_request.uri.port = self.port
      if self.host:
        http_request.uri.host = self.host
      # Set the relative uri path
      if self.path:
        http_request.uri.path = self.path
      if self.query:
        http_request.uri.query = self.query.copy()
      return http_request