revali_router 3.0.7
revali_router: ^3.0.7 copied to clipboard
Feature rich http router for Revali
CHANGELOG #
3.0.7 | 03.05.26 #
Fixes #
- Fix dynamic routes like
/:paramincorrectly matching a static sibling route when extra path segments exist: only return parent when remaining path segments are empty so the correct dynamic route is matched
3.0.6 | 03.03.26 #
Fixes #
- Fix OPTIONS returning 404 for prefix routes (e.g.
/api) by returning the prefix route when path matches exactly and method is OPTIONS - Fix OPTIONS returning 404 for paths like
/api/forums/member/:idwhen a static sibling route (e.g.member) partially matches: continue trying other routes instead of returning when recursion yields no match
Enhancements #
- Aggregate allowed methods from descendant routes for prefix routes (no handler) so OPTIONS responses include correct
AllowandAccess-Control-Allow-Methodsheaders
3.0.5 | 02.18.26 #
Fixes #
- Fix header getter pattern matching for multi-value headers
- Skip empty header values in
forEachcallback - Fix
CookiesImpl.headerValue()to useentriesfor proper inheritance
Enhancements #
- Add default values for SetCookie attributes (httpOnly, secure, sameSite, path)
- Separate cookie values from SetCookie attributes in
SetCookiesImpl - Change
SetCookiesImpl.securefrom nullable to non-nullablebool
3.0.4 | 02.11.26 #
Fixes #
- Fix route matching for
OPTIONSrequests on dynamic endpoint paths (e.g.:id)
3.0.3+1 | 01.31.26 #
Enhancements #
- Add optional param to
headers.set(expose: true)to expose the header to the client
3.0.3 | 01.31.26 #
Enhancements #
- Add optional param to
headers.set(expose: true)to expose the header to the client
3.0.2 | 11.22.25 #
3.0.0-dev | 09.19.25 #
Breaking Changes #
- Drop all custom contexts based on lifecycle component
- Create a generic
Contextinterface to replace all custom contexts - Use new types from
revali_router_core
2.4.1 | 08.26.25 #
Fixes #
- Issue where allowed headers were not inherited properly
- Issue where allowed headers could block requests with unknown headers
2.4.0 | 08.16.25 #
Features #
- Create new
addmethod toMutableCookies - Add clean up to router close method to prevent memory leaks
2.1.0 | 04.07.25 #
Features #
- Explicitly check for binary types when resolving body
- Clean up resources after response has been handled
- Support sending data asynchronously
- As opposed to only on an event received
Enhancements #
- Check for
nullvalues in addition toNullBodybody data types - Handle exceptions when resolving body
- Coerce body types when no mime type is provided
- Improve path parameter extraction
- Force sequential execution of sent
WebSocketmessages
Fixes #
- Issue where crash would occur during SSE when connection was closed by client unexpectedly
- Issue where endpoint path would result in 404 when parent controller's path was empty
2.0.1 | 03.26.25 #
2.0.0 | 03.26.25 #
Breaking Changes #
- Remove
UnknownBodyData, will default to aByteStreamBodyDatainsteadUnknownBodyDatahad the potential to hang if the body was a open stream
Features #
- Create
WebSocketContextclass for context management ofWebSocketconnections- Specifically
closeing the connection
- Specifically
- Allow empty paths for parent routes when their handler has not been set
1.7.0 | 03.24.25 #
Features #
- Add support for primitive body types
int,double,bool
Enhancements #
- Clean up resources after request is complete
Fixes #
- Issue where streamed responses were not encoded correctly
- Issue where body could throw exception during
setting- Now catches and sets status code to 500
- Issue where on connect was not being called for
WebSocket
1.6.0 | 02.07.25 #
Features #
- Use
.thensyntax instead of await to handle request operation- This allows for faster request handling
1.5.0 | 01.27.25 #
1.4.1 | 01.27.25 #
1.4.0 | 01.20.25 #
1.3.0 | 12.11.24 #
1.2.0 | 11.21.24 #
Features #
- Create
ExpectedHeadersas non-optional headers to be passed into the request - Add
ExpectedHeadersto access control headers
Enhancements #
- Re-order the pre-request checks to
- CORs Origins Validation
- CORs Headers Validation
- (CORs) Expected Headers Validation
- Options Request Handling
- Redirect Handling
- Return actual response in the
OPTIONSrequest instead of a canned response - Handle internal root errors with the response handler instead of deprecated
sendmethod
Fix #
- Add
routesparam toSseRouteconstructor
1.1.0 | 11.18.24 #
Features #
- Support advanced
ResponseHandlerper route- If a response needs to be handled differently for a specific route, a
ResponseHandlercan be provided to the route to send the response to the client
- If a response needs to be handled differently for a specific route, a
- Create default response handler for
Router - Create
SseRoutefor Server-Sent Events - Create
SseResponseHandlerfor Server-Sent Events
Enhancements #
- Improve how streams are prepared for sending to the client
Chores #
- Upgrade dependencies
1.0.0 | 11.14.24 #
- Initial Release