def METHOD_NAME(self, username):
    channel, multistreams, loadbalancer = self.session.http.get(
        self.API_URL_LIVE.format(username=username),
        schema=validate.Schema(
            validate.parse_json(),
            {
                "channel": validate.any(None, {
                    "stream_name": str,
                    "title": str,
                    "online": bool,
                    "private": bool,
                    "categories": [{"label": str}],
                }),
                "getMultiStreams": validate.any(None, {
                    "multistream": bool,
                    "streams": [{
                        "name": str,
                        "online": bool,
                    }],
                }),
                "getLoadBalancerUrl": validate.any(None, {
                    "url": validate.any(None, validate.transform(lambda url: urlparse(url).netloc)),
                }),
            },
            validate.union_get("channel", "getMultiStreams", "getLoadBalancerUrl"),
        ),
    )
    if not channel or not multistreams or not loadbalancer:
        log.debug("Missing channel or streaming data")
        return
    log.trace(f"loadbalancer={loadbalancer!r}")
    log.trace(f"channel={channel!r}")
    log.trace(f"multistreams={multistreams!r}")
    if not channel["online"]:
        log.error("User is not online")
        return
    if channel["private"]:
        log.info("This is a private stream")
        return
    self.author = username
    self.category = channel["categories"][0]["label"]
    self.title = channel["title"]
    hls_url = self.HLS_URL.format(
        netloc=loadbalancer["url"],
        file_name=channel["stream_name"],
    )
    return HLSStream.parse_variant_playlist(self.session, hls_url)