Hius

Latest version: v0.3.0

Safety actively analyzes 624811 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

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 кодов.
* Доработал тесты и дополнил документацию.

0.1.1

* Добавлена документация.
* Добавлены модули requests, responses для единообразных импортов.
* Сделал приложение dict-like объектом.

0.1.0

* Проект получил новое имя - [Хиус (Hius)](https://ru.wikipedia.org/wiki/%D0%A5%D0%B8%D1%83%D1%81_(%D0%BF%D0%BB%D0%B0%D0%BD%D0%B5%D1%82%D0%BE%D0%BB%D1%91%D1%82)).
* Реализовал валидацию входящих параметров запроса и передачу их в метод (спасибо `pydantic`).
* Валидация происходит только тех параметров, что будут указаны аргументами функции, где их ожидают получить.
* Если валидация не прошла:
* Для HTTP запроса. Вернётся json со статус-кодом 400 (Bad Request), сформированный pydantic'ом и указывающий на то, какие параметры не удовлетворяют условиям успешной проверки.
* Для websocket запроса. Соединение будет сразу же разорвано.

0.0.4

* Реализовал поддержку lifespan протокола.
* Возможность передать/декорировать множество lifespan-генераторов.
* Методы/генераторы, вызываемые при запуске/остановке приложения, получают один единственный аргумент - само приложение.
* Добавил явную проверку типа передаваемого массива с методами при установке роута.
* Убрал возможность передать в приложение готовый роутер.
* Несколько мелких баг-фиксов и рефакторинг.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.