From ba8bd38846a8dcb7e4ae4127df7762496b3d3326 Mon Sep 17 00:00:00 2001 From: xuzhenhai <282052309@qq.com> Date: Wed, 3 Sep 2025 00:58:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=BB=84=E5=8C=BA=E5=90=8C=E6=AD=A5=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xuzhenhai <282052309@qq.com> Change-Id: If8b60fb5875d82c295400ccac5fb849afa664f2b --- .../connection_exec/src/connection_exec.cpp | 5 ----- services/netconnmanager/include/net_pac_manager.h | 2 +- services/netconnmanager/src/net_pac_manager.cpp | 15 ++++++++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frameworks/js/napi/connection/connection_exec/src/connection_exec.cpp b/frameworks/js/napi/connection/connection_exec/src/connection_exec.cpp index e76663c7f..c6a2e559d 100644 --- a/frameworks/js/napi/connection/connection_exec/src/connection_exec.cpp +++ b/frameworks/js/napi/connection/connection_exec/src/connection_exec.cpp @@ -1149,11 +1149,6 @@ napi_value ConnectionExec::GetProxyModeCallback(ProxyModeContext *context) bool ConnectionExec::ExecSetPacFileUrl(SetPacFileUrlContext *context) { - if (context->pacUrl_.empty()) { - NETMANAGER_BASE_LOGE("pac Url is empty!"); - context->SetErrorCode(NETMANAGER_ERR_PARAMETER_ERROR); - return false; - } int32_t errorCode = NetConnClient::GetInstance().SetPacFileUrl(context->pacUrl_); if (errorCode != NET_CONN_SUCCESS) { NETMANAGER_BASE_LOGE("exec SetPacFileUrl failed errorCode: %{public}d", errorCode); diff --git a/services/netconnmanager/include/net_pac_manager.h b/services/netconnmanager/include/net_pac_manager.h index 5371ff77a..1140e04ab 100644 --- a/services/netconnmanager/include/net_pac_manager.h +++ b/services/netconnmanager/include/net_pac_manager.h @@ -62,7 +62,7 @@ public: PAC_STATUS FindProxyForURL(const std::string &url, const std::string &host, std::string &proxy); - std::string DownloadPACScript(const std::string &url); + void DownloadPACScript(const std::string &url); std::string ParseHost(const std::string &url); diff --git a/services/netconnmanager/src/net_pac_manager.cpp b/services/netconnmanager/src/net_pac_manager.cpp index 2431e110e..c97e06669 100644 --- a/services/netconnmanager/src/net_pac_manager.cpp +++ b/services/netconnmanager/src/net_pac_manager.cpp @@ -34,6 +34,8 @@ const std::string EMPTY = ""; constexpr int32_t HTTP_CODE_200 = 200; } // namespace +static std::string g_script; + NetPACManager::NetPACManager() : pacScriptVal_(jerry_create_undefined()), status_(false), engineInitialized_(false) { } @@ -91,12 +93,13 @@ bool NetPACManager::InitPACScriptWithURL(const std::string &scriptUrl) jerry_cleanup(); engineInitialized_ = false; } - const std::string &script = DownloadPACScript(scriptUrl); - if (script.empty()) { + g_script.clear(); + DownloadPACScript(scriptUrl); + if (g_script.empty()) { status_ = false; return false; } - const char *pac_script = script.c_str(); + const char *pac_script = g_script.c_str(); jerry_init(JERRY_INIT_EMPTY); engineInitialized_ = true; PacFunctions::RegisterPacFunctions(); @@ -181,10 +184,11 @@ static size_t WriteToString(void *contents, size_t size, size_t nmemb, void *use size_t realsize = size * nmemb; std::string *mem = static_cast(userp); mem->append(static_cast(contents), realsize); + g_script.append(static_cast(contents), realsize); return realsize; } -std::string NetPACManager::DownloadPACScript(const std::string &url) +void NetPACManager::DownloadPACScript(const std::string &url) { struct CurlGlobalGuard { CurlGlobalGuard() @@ -198,7 +202,7 @@ std::string NetPACManager::DownloadPACScript(const std::string &url) } curlGuard; CURL *curl_handle = curl_easy_init(); if (!curl_handle) { - return EMPTY; + return; } struct CurlHandleDeleter { void operator()(CURL *handle) @@ -236,6 +240,7 @@ std::string NetPACManager::DownloadPACScript(const std::string &url) return; } + void NetPACManager::SetFileUrl(const std::string &url) { scriptFileUrl_ = url; -- Gitee