Skip to content

Releases: WoolenSweater/hius

0.3.0

16 Nov 13:32

Choose a tag to compare

  • Реализовал генерацию и ренедеринг OpenAPI схемы.
    • Сейчас доступна только JSON схема (/openapi.json) и redoc (/docs) рендеринг.
    • Генерация самая базовая. Только пути, методы и заглушка успешного ответа.
  • Исправил ошибку из-за которой стэк миддлвар не перестраивался при добавлении новой методом add_middleware.
  • Добавил проверку пути для монтируемого приложения/роутера.
  • Поправил type hinting'и в модулях app, endpoint.
  • Поправил конфиг для генерации документации.
  • Перешёл на pyproject вместо setup.
  • Поправил README и LICENSE.

0.2.0

07 Dec 18:50

Choose a tag to compare

  • Исправил серьезную недоработку связанную с установкой поля request и websocket у endpoint'а. Такой подход мог приводить к тому, что даже при небольшой нагрузке, если перед обработкой запроса была небольшая задержка (например обращение к БД), следующие за ним запросы переустанавливали поле, следовательно, предыдущий объект запроса просто "терялся" и не был обработан.
    • Решением проблемы стало возвращение к проверенной схеме с передачей объекта запроса в сам метод.
    • Вместо запроса endpoint'у устанавливается поле с самим приложением. Предварительно происходит проверка, что этого поля ещё у него нет, а в scope у запроса есть объект приложения.
  • Изменил метод, вызываемый у веб-сокет endpoint'а. call вместо __call__
  • Доработаны тесты и документация.

0.1.2

02 Nov 13:29

Choose a tag to compare

  • Доработал объявление HTTP роутов для эндпоинтов классов (CBV). Если список методов не передан, вместо стандарных (GET, HEAD), список будет сформирован на основе объявленных в классе методов.
  • Ошибка валидации входящих параметров (ValidationError) от pydantic'а. Теперь "оборачивается" в HTTPValidationError и райзится наружу, где ловится обработчиком исключений.
    • Дефолтный обработчик делает тоже самое, что до этого происходило внутри эндпоинта, форматирует ошибку в JSON.
    • Такая реализация позволит пользователю переопределить механизм обработки исключения.
  • В приложении добавил метод установки списка роутов. В некоторых случаях удобно установить все роуты после инициализации самого приложения.
  • Добавил модуль со стандартными шаблонами-ответами HTTP кодов.
  • Доработал тесты и дополнил документацию.