#prefix-tree #tree #algorithm #url-routing #url-match

pretree

Pretree is a package for storing and querying routing rules with prefix tree. Pretree 是一个用于存储和查询路由规则的包。它用前缀树存储路由规则,支持包含变量的路由。

3 stable releases

1.0.2 Sep 13, 2021
1.0.1 Sep 6, 2021

#1683 in Data structures

GPL-3.0 license

17KB
180 lines

Pretree

crates.io Released API docs GPL3 licensed Downloads of Crates.io Lines of code Build Languages

pretree is a package for storing and querying routing rules with prefix tree .

pretree 是一个用于存储和查询路由规则的包。它用前缀树存储路由规则,支持包含变量的路由。

pretree is a package for storing and querying routing rules. It uses prefix tree to store routing rules and supports routing with variables.

Inspired by obity/pretree (golang)

Doc

See this document at API documentation

Install

Add the following line to your Cargo.toml file:

pretree = "1.0"

Example

use pretree::Pretree;
let mut p = Pretree::new();
p.store("GET","account/{id}/info/:name");
p.store("GET","account/:id/login");
p.store("GET","account/{id}");
p.store("GET","bacteria/count_number_by_month");
let (ok,rule,vars) = p.query("GET","account/929239");
println!("ok:{} rule:{} vars:{:#?}",ok,rule,vars);

No runtime deps