shelf_router 1.1.1 shelf_router: ^1.1.1 copied to clipboard
A convinent request router for the shelf web-framework, with support for URL-parameters, nested routers and routers generated from source annotations.
v1.1.1 #
- Fix
Router.routeNotFound
to enable multipleread()
calls on it.
v1.1.0 #
params
is deprecated in favor ofRequest.params
adding using an extension onRequest
.- The default
notFoundHandler
now returns a sentinelrouteNotFound
response object which causes 404 with the message 'Route not found'. - Minor breaking: Handlers and sub-routers that return the sentinel
routeNotFound
response object will be ignored and pattern matching will continue on additional routes/handlers.
Changing the router to continue pattern matching additional routes if a matched
handler or nested router returns the sentinel routeNotFound
response
object is technically a breaking change. However, it only affects scenarios
where the request matches a mounted sub-router, but does not match any route
on this sub-router. In this case, shelf_router
version 1.0.0
would
immediately respond 404, without attempting to match further routes. With this
release, the behavior changes to matching additional routes until one returns
a custom 404 response object, or all routes have been matched.
This behavior is more in line with how shelf_router
version 0.7.x
worked,
and since many affected users consider the behavior from 1.0.0
a defect,
we decided to remedy the situation.
v1.0.0 #
- Migrate package to null-safety
- Since handlers are not allowed to return
null
inshelf
1.0.0, a router will return a default 404 response instead. This behavior can be overridden with thenotFoundHandler
constructor parameter. - Breaking: Remove deprecated
Router.handler
getter. The router itself is a handler.
v0.7.4 #
- Update
Router.mount
parameter to accept aHandler
. - Make
Router
to be considered aHandler
. - Deprecate the
Router.handler
getter.
v0.7.3 #
- Added
@sealed
annotation toRouter
andRoute
.
v0.7.2 #
- Always register a
HEAD
handler whenever aGET
handler is registered. Defaulting to calling theGET
handler and throwing away the body.
v0.7.1 #
- Use
Function
instead ofdynamic
inRouterEntry
to improve typing.
v0.7.0+1 #
- Fixed description to fit size recommendations.
v0.7.0 #
- Initial release