Асинхронный HTTP-клиент

Асинхронный HTTP-клиент.

class yandex_music.utils.request_async.DefaultTimeout

Заглушка для установки времени ожидания по умолчанию.

class yandex_music.utils.request_async.Request

Вспомогательный класс для выполнения асинхронных запросов.

Предоставляет методы для выполнения POST и GET запросов, скачивания файлов.

Parameters:
  • client (yandex_music.Client, optional) – Клиент Yandex Music.

  • headers (dict, optional) – Заголовки передаваемые с каждым запросом.

  • proxy_url (str, optional) – Прокси.

async get(url, params=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка GET запроса.

Parameters:
  • url (str) – Адрес для запроса.

  • params (str) – GET параметры для запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для aiohttp.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

async post(url, data=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка POST запроса.

Parameters:
  • url (str) – Адрес для запроса.

  • data (str) – POST тело запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для aiohttp.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

async put(url, json=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка PUT запроса.

Parameters:
  • url (str) – Адрес для запроса.

  • json (dict) – JSON тело запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для aiohttp.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

async delete(url, json=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка DELETE запроса.

Parameters:
  • url (str) – Адрес для запроса.

  • json (dict) – JSON тело запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для aiohttp.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

async retrieve(url, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка GET запроса и получение содержимого без обработки (парсинга).

Parameters:
  • url (str) – Адрес для запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для aiohttp.request.

Returns:

Тело ответа.

Return type:

bytes

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

async download(url, filename, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка запроса на получение содержимого и его запись в файл.

Parameters:
  • url (str) – Адрес для запроса.

  • filename (str) – Путь и(или) название файла вместе с расширением.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для aiohttp.request.

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.