aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2022-03-26 10:34:01 +0000
committerFuwn <[email protected]>2022-03-26 10:34:01 +0000
commit2b820e426f8d60448761121875daa542b6389efc (patch)
tree8c145e95bab74c715fb3886a455788e3f1abac72
parentrefactor(response): remove unused header struct (diff)
downloadwindmark-2b820e426f8d60448761121875daa542b6389efc.tar.xz
windmark-2b820e426f8d60448761121875daa542b6389efc.zip
refactor(mount): dynamic format
-rw-r--r--examples/windmark.rs2
-rw-r--r--src/lib.rs10
2 files changed, 10 insertions, 2 deletions
diff --git a/examples/windmark.rs b/examples/windmark.rs
index f45c9a7..2a4bbf9 100644
--- a/examples/windmark.rs
+++ b/examples/windmark.rs
@@ -78,7 +78,7 @@ fn main() -> std::io::Result<()> {
windmark::utilities::queries_from_url(&url)
))
})
- .mount("/param/:lang", |_, _url, dynamic_parameter| {
+ .mount("/param/<lang>", |_, _url, dynamic_parameter| {
Response::Success(format!("Parameter lang is {:?}", dynamic_parameter))
})
.mount("/input", |_, url, _| {
diff --git a/src/lib.rs b/src/lib.rs
index 1b17318..1a91ee5 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -45,7 +45,7 @@ use url::Url;
use crate::response::{to_value_set_status, Response};
static DYNAMIC_PARAMETER_REGEX: SyncLazy<Regex> =
- SyncLazy::new(|| Regex::new(r":[a-zA-Z][0-9a-zA-Z_-]*").unwrap());
+ SyncLazy::new(|| Regex::new(r"<[a-zA-Z][0-9a-zA-Z_-]*>").unwrap());
type RouteResponseHandler = fn(&TcpStream, &Url, Option<String>) -> Response;
type CallbackHandler = fn(&TcpStream, &Url);
@@ -161,6 +161,14 @@ impl Router {
.map(|m| m.as_str().to_string())
.collect::<Vec<String>>();
+ // println!(
+ // "dyn: {:?}",
+ // dynamic_parameters
+ // .iter()
+ // .map(|p| p.replace('<', "").replace('>', ""))
+ // .collect::<Vec<String>>()
+ // );
+
if let Some(dynamic_parameter) = dynamic_parameters.get(0) {
fixed_route = route.replace(dynamic_parameter, "");
is_dynamic = true;