1
1
diff --git a/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java b/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java
2
- index 76bb6080c73c..a708698bd008 100644
2
+ index 76bb6080c73c..da54d0c76922 100644
3
3
--- a/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java
4
4
+++ b/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java
5
5
@@ -26,6 +26,7 @@
@@ -29,17 +29,16 @@ index 76bb6080c73c..a708698bd008 100644
29
29
private final String pacScriptSource;
30
30
31
31
32
- @@ -213,7 +219,8 @@ public NbPacScriptEvaluator(String pacSourceCocde) throws PacParsingException {
32
+ @@ -213,7 +219,7 @@ public NbPacScriptEvaluator(String pacSourceCocde) throws PacParsingException {
33
33
@Override
34
34
public List<Proxy> findProxyForURL(URI uri) throws PacValidationException {
35
35
36
36
- List<Proxy> jsResultAnalyzed;
37
- + AtomicReference<List<Proxy>> resultHolder = new AtomicReference<>(null);
38
37
+ List<Proxy> jsResultAnalyzed = null;
39
38
40
39
// First try the cache
41
40
if (resultCache != null) {
42
- @@ -222,38 +229,36 @@ public List<Proxy> findProxyForURL(URI uri) throws PacValidationException {
41
+ @@ -222,38 +228,37 @@ public List<Proxy> findProxyForURL(URI uri) throws PacValidationException {
43
42
return jsResultAnalyzed;
44
43
}
45
44
}
@@ -73,6 +72,7 @@ index 76bb6080c73c..a708698bd008 100644
73
72
+ if (timeout <= 0){
74
73
+ jsResultAnalyzed = executeProxyScript(uri);
75
74
+ } else {
75
+ + AtomicReference<List<Proxy>> resultHolder = new AtomicReference<>(null);
76
76
+ Task task = getRequestProcessor().post(() -> {
77
77
+ resultHolder.set(executeProxyScript(uri));
78
78
+ });
@@ -93,10 +93,10 @@ index 76bb6080c73c..a708698bd008 100644
93
93
- LOGGER.log(Level.WARNING, "Error when executing PAC script function " + scriptEngine.getJsMainFunction().getJsFunctionName() + " : ", ex);
94
94
- return Collections.singletonList(Proxy.NO_PROXY);
95
95
+ jsResultAnalyzed = resultHolder.get();
96
- + }
96
+ }
97
97
+ if (canUseURLCaching && (resultCache != null) && (jsResultAnalyzed != null)) {
98
98
+ resultCache.put(uri, jsResultAnalyzed); // save the result in the cache
99
- }
99
+ + }
100
100
+ return jsResultAnalyzed != null ? jsResultAnalyzed : Collections.singletonList(Proxy.NO_PROXY);
101
101
}
102
102
-
@@ -210,15 +210,15 @@ index 178c9b162feb..90812bfa4612 100644
210
210
testPacFile2("pac-test4.js", factory);
211
211
}
212
212
diff --git a/platform/o.n.core/src/org/netbeans/core/ProxySettings.java b/platform/o.n.core/src/org/netbeans/core/ProxySettings.java
213
- index 2d29427cd3c2..19e48d9bad82 100644
213
+ index 2d29427cd3c2..593c99f5d6fe 100644
214
214
--- a/platform/o.n.core/src/org/netbeans/core/ProxySettings.java
215
215
+++ b/platform/o.n.core/src/org/netbeans/core/ProxySettings.java
216
216
@@ -49,6 +49,8 @@ public class ProxySettings {
217
217
public static final String USE_PROXY_ALL_PROTOCOLS = "useProxyAllProtocols"; // NOI18N
218
218
public static final String DIRECT = "DIRECT"; // NOI18N
219
219
public static final String PAC = "PAC"; // NOI18N
220
220
+ public static final String PAC_SCRIPT_TIMEOUT = "pacScriptTimeout"; // NOI18N
221
- + public static final int DEFAULT_TIMEOUT = 60000 ;
221
+ + public static final int DEFAULT_TIMEOUT = 10000 ;
222
222
223
223
public static final String SYSTEM_PROXY_HTTP_HOST = "systemProxyHttpHost"; // NOI18N
224
224
public static final String SYSTEM_PROXY_HTTP_PORT = "systemProxyHttpPort"; // NOI18N
0 commit comments