Access latest route pattern when mapping route errors (#2823) #2915
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.
@jdegoes When handling errors of
Route.Unhandled
, we accessed the current route pattern to decode it based on the incomingRequest
. When nesting, the route pattern of the handler changes, but the decoding was already constructed based on the pre-nesting route pattern.I fixed this by changed the handler in
Route.Handled
tohandler: Handler[Any, Nothing, RoutePattern[_], Handler[Env, Response, Request, Response]]
and when callingtoHandler
, handing over the latest route pattern.I considered instead manipulating the Request to remove the prefix when nesting, but decided that this is a bad idea, since the
Request
that the user might access would have a path, that does not reflect the path of the remote request.fixes #2823
/claim #2823