async def METHOD_NAME(resp: Any) -> None:
    q: Queue = Queue()
    task = asyncio.ensure_future(
        self.on_message_wrapper(
            on_new_message, text, q, sender_id, input_channel, metadata
        )
    )
    while True:
        result = await q.get()
        if result == "DONE":
            break
        else:
            await resp.write(json.dumps(result) + "\n")
    await task