From 37da9a39ec07d9492c2963dc571cbfb11c4ec38a Mon Sep 17 00:00:00 2001 From: Filip Tibell Date: Mon, 28 Apr 2025 11:50:58 +0200 Subject: [PATCH] Avoid some cloning --- crates/lune-std-net/src/server/service.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/lune-std-net/src/server/service.rs b/crates/lune-std-net/src/server/service.rs index 22f7459..37e3820 100644 --- a/crates/lune-std-net/src/server/service.rs +++ b/crates/lune-std-net/src/server/service.rs @@ -32,12 +32,9 @@ impl HyperService> for Service { type Future = Pin>>>; fn call(&self, req: HyperRequest) -> Self::Future { - let lua = self.lua.clone(); - let address = self.address; - let config = self.config.clone(); - if is_upgrade_request(&req) { - if let Some(handler) = config.handle_web_socket { + if let Some(handler) = self.config.handle_web_socket.clone() { + let lua = self.lua.clone(); return Box::pin(async move { let response = match make_upgrade_response(&req) { Ok(res) => res, @@ -63,8 +60,11 @@ impl HyperService> for Service { } } + let lua = self.lua.clone(); + let address = self.address; + let handler = self.config.handle_request.clone(); Box::pin(async move { - match handle_request(lua.clone(), config.handle_request, req, address).await { + match handle_request(lua, handler, req, address).await { Ok(response) => Ok(response), Err(_err) => { // TODO: Propagare the error somehow?