Основа HTTP-клиентов: общие таймауты, заголовки, обработка ответов

Основа HTTP-клиентов: общие таймауты, заголовки, обработка ответов.

class yandex_music.utils.request_base.DefaultTimeout

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

class yandex_music.utils.request_base.RequestBase

Базовый класс для выполнения запросов.

Предоставляет общую логику для синхронного и асинхронного классов запросов: настройка заголовков, авторизация, парсинг ответов, нормализация ключей.

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

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

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

set_language(lang)

Добавляет заголовок языка для каждого запроса.

Note

Возможные значения lang: en/uz/uk/us/ru/kk/hy.

Parameters:

lang (str) – Язык.

set_timeout(timeout=<yandex_music.utils.request_base.DefaultTimeout object>)

Устанавливает время ожидания для всех запросов.

Parameters:

timeout (int | float) – Время ожидания от сервера.

set_authorization(token)

Добавляет заголовок авторизации для каждого запроса.

Note

Используется при передаче своего экземпляра Request’a клиенту.

Parameters:

token (str) – OAuth токен.

set_and_return_client(client)

Принимает клиент и присваивает его текущему объекту. При наличии авторизации добавляет заголовок.

Parameters:

client (yandex_music.Client) – Клиент Yandex Music.

Returns:

Клиент Yandex Music.

Return type:

yandex_music.Client