Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This reworks the tower service such that we always return a response. In other words, the service becomes infallible. What this means is we no longer need to build an intermediary service that captures boxed errors when using this crate with axum.
One side effect of this is that we lose the ability to handle specific errors, such as the session save failing, via downcasting. Instead, the middleware will return a 500 response. To address this, we could extend this implementation to allow for an on error callback, which could take an error and return a response.
This is a breaking change which also removes two extraneous variants from the session error type:
MissingId
MissingCookies