async def METHOD_NAME(self, request: Request) -> None:
    version = parse_string(request, "v", default=self._default_consent_version)
    username = parse_string(request, "u", default="")
    userhmac = None
    has_consented = False
    public_version = username == ""
    if not public_version:
        args: Dict[bytes, List[bytes]] = request.args  # type: ignore
        userhmac_bytes = parse_bytes_from_args(args, "h", required=True)
        self._check_hash(username, userhmac_bytes)
        if username.startswith("@"):
            qualified_user_id = username
        else:
            qualified_user_id = UserID(username, self.hs.hostname).to_string()
        u = await self.store.get_user_by_id(qualified_user_id)
        if u is None:
            raise NotFoundError("Unknown user")
        has_consented = u["consent_version"] == version
        userhmac = userhmac_bytes.decode("ascii")
    try:
        self._render_template(
            request,
            "%s.html" % (version,),
            user=username,
            userhmac=userhmac,
            version=version,
            has_consented=has_consented,
            public_version=public_version,
        )
    except TemplateNotFound:
        raise NotFoundError("Unknown policy version")