summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java
diff options
context:
space:
mode:
authorSimon Rettberg2017-08-09 16:36:25 +0200
committerSimon Rettberg2017-08-09 16:36:25 +0200
commit90349ff2bf27a81ef7412f15b22769ff6ca6bd6e (patch)
treef518e1d90917377039017078359f6d2574d224cb /src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java
parentRewrite proxy string parsing, regex was a bit wonky (diff)
downloadproxy-vole-90349ff2bf27a81ef7412f15b22769ff6ca6bd6e.tar.gz
proxy-vole-90349ff2bf27a81ef7412f15b22769ff6ca6bd6e.tar.xz
proxy-vole-90349ff2bf27a81ef7412f15b22769ff6ca6bd6e.zip
Sophisticate proxy parsing and generating, fix misinterpretation if SOCKS proxies
This is a quick and dirty fix; it seems a major redesign is appropriate. We should also switch to some maintained version of proxy-vole from github. This one looks halfway active: https://github.com/MarkusBernhardt/proxy-vole or maybe one of its forks...
Diffstat (limited to 'src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java')
-rw-r--r--src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java b/src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java
index 41859ec..e501952 100644
--- a/src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java
+++ b/src/main/java/com/btr/proxy/selector/misc/ProxyListFallbackSelector.java
@@ -11,6 +11,8 @@ import java.util.List;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
+import com.btr.proxy.util.ProxyUtil;
+
/*****************************************************************************
* Implements a fallback selector to warp it around an existing ProxySelector.
* This will remove proxies from a list of proxies and implement an automatic
@@ -58,6 +60,7 @@ public class ProxyListFallbackSelector extends ProxySelector {
@Override
public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
this.failedDelayCache.put(sa, System.currentTimeMillis());
+ this.delegate.connectFailed(uri, sa, ioe);
}
/*************************************************************************
@@ -70,6 +73,9 @@ public class ProxyListFallbackSelector extends ProxySelector {
cleanupCache();
List<Proxy> proxyList = this.delegate.select(uri);
List<Proxy> result = filterUnresponsiveProxiesFromList(proxyList);
+ if (result.isEmpty()) {
+ return ProxyUtil.noProxyList();
+ }
return result;
}