diff options
| author | Fuwn <[email protected]> | 2026-04-14 09:27:16 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-04-14 09:27:16 +0000 |
| commit | 3935f7363d71c89b05b6aae2d9e7f6bf90b7877b (patch) | |
| tree | 4779509222c54f6ebbd4a4d40ceb3871f7985133 | |
| parent | perf(router)!: Replace per-request locks with lock-free frozen storage (diff) | |
| download | archived-windmark-3935f7363d71c89b05b6aae2d9e7f6bf90b7877b.tar.xz archived-windmark-3935f7363d71c89b05b6aae2d9e7f6bf90b7877b.zip | |
perf(router): Eliminate redundant url clone on every request
| -rw-r--r-- | src/router.rs | 7 |
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 |