aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-04-14 09:27:16 +0000
committerFuwn <[email protected]>2026-04-14 09:27:16 +0000
commit3935f7363d71c89b05b6aae2d9e7f6bf90b7877b (patch)
tree4779509222c54f6ebbd4a4d40ceb3871f7985133
parentperf(router)!: Replace per-request locks with lock-free frozen storage (diff)
downloadarchived-windmark-3935f7363d71c89b05b6aae2d9e7f6bf90b7877b.tar.xz
archived-windmark-3935f7363d71c89b05b6aae2d9e7f6bf90b7877b.zip
perf(router): Eliminate redundant url clone on every request
-rw-r--r--src/router.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/router.rs b/src/router.rs
index e0726fd..1b028a9 100644
--- a/src/router.rs
+++ b/src/router.rs
@@ -190,10 +190,9 @@ impl RequestHandler {
}
let peer_certificate = stream.ssl().peer_certificate();
- let url_clone = url.clone();
let hook_context = HookContext::new(
stream.get_ref().peer_addr(),
- url_clone.clone(),
+ url.clone(),
route.as_ref().ok().map(|route| route.params.clone()),
peer_certificate.clone(),
);
@@ -212,7 +211,7 @@ impl RequestHandler {
let mut content = if let Ok(ref route) = route {
let route_context = RouteContext::new(
stream.get_ref().peer_addr(),
- url_clone,
+ url,
&route.params,
peer_certificate,
);
@@ -245,7 +244,7 @@ impl RequestHandler {
.error_handler
.call(ErrorContext::new(
stream.get_ref().peer_addr(),
- url_clone,
+ url,
peer_certificate,
))
.await