From 6a30a03e590264765d5f05b40f6b5a41657be624 Mon Sep 17 00:00:00 2001 From: GW_MC <72297530+GWMCwing@users.noreply.github.com> Date: Wed, 31 Dec 2025 16:11:03 +0800 Subject: [PATCH] feat: enhance socket path validation for reqwest client configuration --- apps/api/src/services/agent_client.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/api/src/services/agent_client.rs b/apps/api/src/services/agent_client.rs index 784d6ca..09c01aa 100644 --- a/apps/api/src/services/agent_client.rs +++ b/apps/api/src/services/agent_client.rs @@ -1,4 +1,4 @@ -use std::sync::Arc; +use std::{os::unix::fs::FileTypeExt, sync::Arc}; use agent_client::{ apis::{ @@ -105,7 +105,9 @@ impl From for Configuration { let mut builder = reqwest::Client::builder(); let url = settings.socket_path; - if url.starts_with("unix://") { + // check if the url is a unix socket path + let is_socket = std::fs::metadata(&url).is_ok_and(|m| m.file_type().is_socket()); + if is_socket || url.starts_with("unix://") { builder = builder.unix_socket(url.to_string()); config.client = builder.build().expect("Failed to build reqwest client"); } else {