Source code for aioqbt.api.auth

from aioqbt import exc
from aioqbt.client import APIClient, APIGroup

__all__ = ("AuthAPI",)


async def _auth_login(client: APIClient, username: str, password: str) -> None:
    resp = await client.request(
        "POST",
        "auth/login",
        data={
            "username": str(username),
            "password": str(password),
        },
    )

    async with resp:
        res = await resp.read()

        if res != b"Ok.":
            ex = exc.LoginError.from_response(resp)
            ex.message = res.decode("utf-8")
            raise ex


[docs] class AuthAPI(APIGroup): """ API methods under ``auth``. """
[docs] async def login(self, username: str, password: str) -> None: return await _auth_login(self._client(), username, password)
[docs] async def logout(self) -> None: # Seem that logout always succeed await self._request_text( "POST", "auth/logout", )