Revision history for Perl extension PAGI::FastAPI
0.0.2 2026-08-04
[BUGFIX]
- Routes no longer consider metacharacters in their static paths
(like ".", "+", "?") as wildcards. Only placeholders {param}
are transformed into capture groups. Previously, it would allow
the route '/items.json/{id}' to match paths like '/itemsXjson/{id}'.
- The values of path parameters and query string parameters are now
appropriately decoded: '%XX' and '+' decoding is now done as it
should be according to the application/x-www-form-urlencoded rules.
Until now strings like 'John%20Doe' were sent to handlers unchanged.
- The request body reader no longer goes into an infinite loop when
the PAGI server sends a non-'http.request' event (for example
'http.disconnect') while transmitting POST/PUT/PATCH requests.
- When registering routes, the process now fails with a clear message
instead of just ignoring misconfiguration. For instance, absence
of a 'handler' property, 'dependencies' property not being a HashRef
or an ArrayRef is rejected immediately during route registration.
[TESTING]
- A new test was added in t/08-input_handling_and_registration.t
covering the above-mentioned aspects.
- A new test was added in t/09-external-async-resource-integration.t
to cover DBIx::Class::Async integration.
[EXAMPLE]
- Added additional DBIx::Class::Async integrated application:
eg/dbic_async_integration.pl
0.0.1 2026-08-03
- Initial CPAN release.
- Asynchronous routing engine built on top of PAGI ($scope, $receive, $send).
- Type-safe parameter & POST JSON body validation via Type::Tiny.
- Async Middleware pipeline support with built-in CORS helper (add_cors).
- FastAPI-style Dependency Injection system via PAGI::FastAPI::Depends.
- Integrated OpenAPI 3.1 schema (/openapi.json) and interactive Swagger UI (/docs).