Releases: WoolenSweater/hius
Releases · WoolenSweater/hius
0.3.0
- Реализовал генерацию и ренедеринг OpenAPI схемы.
- Сейчас доступна только JSON схема (/openapi.json) и redoc (/docs) рендеринг.
- Генерация самая базовая. Только пути, методы и заглушка успешного ответа.
- Исправил ошибку из-за которой стэк миддлвар не перестраивался при добавлении новой методом
add_middleware. - Добавил проверку пути для монтируемого приложения/роутера.
- Поправил type hinting'и в модулях app, endpoint.
- Поправил конфиг для генерации документации.
- Перешёл на pyproject вместо setup.
- Поправил README и LICENSE.
0.2.0
- Исправил серьезную недоработку связанную с установкой поля request и websocket у endpoint'а. Такой подход мог приводить к тому, что даже при небольшой нагрузке, если перед обработкой запроса была небольшая задержка (например обращение к БД), следующие за ним запросы переустанавливали поле, следовательно, предыдущий объект запроса просто "терялся" и не был обработан.
- Решением проблемы стало возвращение к проверенной схеме с передачей объекта запроса в сам метод.
- Вместо запроса endpoint'у устанавливается поле с самим приложением. Предварительно происходит проверка, что этого поля ещё у него нет, а в scope у запроса есть объект приложения.
- Изменил метод, вызываемый у веб-сокет endpoint'а.
callвместо__call__ - Доработаны тесты и документация.
0.1.2
- Доработал объявление HTTP роутов для эндпоинтов классов (CBV). Если список методов не передан, вместо стандарных (GET, HEAD), список будет сформирован на основе объявленных в классе методов.
- Ошибка валидации входящих параметров (ValidationError) от pydantic'а. Теперь "оборачивается" в HTTPValidationError и райзится наружу, где ловится обработчиком исключений.
- Дефолтный обработчик делает тоже самое, что до этого происходило внутри эндпоинта, форматирует ошибку в JSON.
- Такая реализация позволит пользователю переопределить механизм обработки исключения.
- В приложении добавил метод установки списка роутов. В некоторых случаях удобно установить все роуты после инициализации самого приложения.
- Добавил модуль со стандартными шаблонами-ответами HTTP кодов.
- Доработал тесты и дополнил документацию.