Support deserializing paths to sequences for multi-component (eg. tail) matches#3432
Open
maartendeprez wants to merge 2 commits intoactix:mainfrom
Open
Support deserializing paths to sequences for multi-component (eg. tail) matches#3432maartendeprez wants to merge 2 commits intoactix:mainfrom
maartendeprez wants to merge 2 commits intoactix:mainfrom
Conversation
robjtede
reviewed
Aug 10, 2024
actix-web/src/types/path.rs
Outdated
| /// } | ||
| /// | ||
| /// // extract `Tail` from a path using serde | ||
| /// #[get("/path/to/{tail:.*}")] |
Member
There was a problem hiding this comment.
please can we use the suggested syntax for tail matches in the tests and docs
https://docs.rs/actix-router/latest/actix_router/struct.ResourceDef.html#tail-segments
Suggested change
| /// #[get("/path/to/{tail:.*}")] | |
| /// #[get("/path/to/{tail}*")] |
robjtede
reviewed
Aug 10, 2024
| ## 0.5.3 | ||
|
|
||
| - Add `unicode` crate feature (on-by-default) to switch between `regex` and `regex-lite` as a trade-off between full unicode support and binary size. | ||
| - Add support for extracting multi-component path params into a sequence (Vec, tuple, ...) |
Author
|
Updated! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PR Type
Feature
PR Checklist
Overview
When extracting path parameters with a custom regex matching multiple path components (eg. "/path/to/{tail:.*}"), there is currently no way to percent-decode the components individually. This pull request changes that by adding support for sequences in the path deserializer. When deserializing the path into a Vec or a tuple, the path segment is first split on slashes, then individual path components are percent-decoded and offered to the deserializing type. Empty path components are ignored.
Since the parameter deserializer did not previously support deserializing to a sequence, I expect this to be fully backward compatible.