Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denoland/rust-urlpattern
Rust implementation of the `URLPattern` web API
https://github.com/denoland/rust-urlpattern
rust urlpattern web
Last synced: about 1 month ago
JSON representation
Rust implementation of the `URLPattern` web API
- Host: GitHub
- URL: https://github.com/denoland/rust-urlpattern
- Owner: denoland
- License: mit
- Created: 2021-08-14T11:44:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-14T21:33:08.000Z (8 months ago)
- Last Synced: 2024-03-14T22:53:41.013Z (8 months ago)
- Topics: rust, urlpattern, web
- Language: Rust
- Homepage:
- Size: 48.8 KB
- Stars: 54
- Watchers: 17
- Forks: 16
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# urlpattern
This crate implements the [`URLPattern` web API][urlpattern] in Rust. We aim to
follow [the specification][spec] as closely as possible.[urlpattern]: https://github.com/WICG/urlpattern
[spec]: https://wicg.github.io/urlpattern/## Example
```rust
use urlpattern::UrlPattern;
use urlpattern::UrlPatternInput;
use urlpattern::UrlPatternInit;use urlpattern::UrlPattern;
use urlpattern::UrlPatternInit;
use urlpattern::UrlPatternMatchInput;fn main() {
// Create the UrlPattern to match against.
let init = UrlPatternInit {
pathname: Some("/users/:id".to_owned()),
..Default::default()
};
let pattern = ::parse(init).unwrap();// Match the pattern against a URL.
let url = "https://example.com/users/123".parse().unwrap();
let result = pattern.exec(UrlPatternMatchInput::Url(url)).unwrap().unwrap();
assert_eq!(result.pathname.groups.get("id").unwrap(), "123");
}
```## Contributing
We appreciate your help!
The code of conduct from the Deno repository applies here too:
https://github.com/denoland/deno/blob/main/.github/CODE_OF_CONDUCT.md.