Table of contents

Flask

pip install hawk-python-sdk[flask]

Импортируйте модуль в проект:

from hawk_python_sdk.modules.flask import HawkFlask

Инициализируйте HawkFlask, передав интеграционный токен проекта:

hawk = HawkFlask( "ВАШ_ТОКЕН" )

После этого все необработанные ошибки Flask-приложения будут автоматически отправляться в Хоук.

Если вы хотите отправлять ошибки из блоков try/except, используйте ручную отправку событий так же, как в базовой Python-интеграции.

Вы можете отправить в Хоук любое исключение вручную. Подробности см. в инструкции для Python Catcher.

Дополнительный контекст передаётся так же, как и в базовой Python-интеграции.

Данные пользователя также можно передавать так же, как и в базовой Python-интеграции.

Когда событие обрабатывается через Flask Catcher, к нему добавляются данные HTTP-запроса.

Поле Тип Описание
url str URL запроса
method str HTTP-метод запроса
headers dict Заголовки запроса
cookies dict Cookies запроса
params dict Параметры запроса
form dict Данные формы
json dict JSON-тело запроса

Для базовой инициализации достаточно передать интеграционный токен проекта:

hawk = HawkFlask('ВАШ_ТОКЕН')

Если нужно использовать кастомный Hawk-сервер, передайте словарь с параметрами:

hawk = HawkFlask({ 'token': 'ВАШ_ТОКЕН', 'collector_endpoint': 'https://<id>.k1.hawk.so', })
Параметр Тип Обязательный Описание
token str да Интеграционный токен проекта
release str нет Название релиза для функции Suspected Commits
collector_endpoint string нет Адрес коллектора для отправки событий
context dict нет Дополнительный контекст, который будет отправляться с каждым событием
before_send Callable[[dict], None] нет Позволяет отфильтровать данные перед отправкой в Хоук
set_user Callable[[Request], User] нет Позволяет задавать пользователя для каждого запроса на основе объекта Flask Request
with_addons bool нет Добавлять ли данные Flask-запроса в событие

См. требования базовой Python-интеграции.

Дополнительно для Flask нужны:

  • Flask
  • blinker