fix #1682 use default proxy settings
This commit is contained in:
parent
b5f114b384
commit
51b9cdc3c3
3 changed files with 33 additions and 4 deletions
|
@ -17,7 +17,12 @@ package org.codelibs.fess.es.config.exentity;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.http.auth.UsernamePasswordCredentials;
|
||||
import org.codelibs.core.lang.StringUtil;
|
||||
import org.codelibs.fess.crawler.client.CrawlerClientFactory;
|
||||
import org.codelibs.fess.crawler.client.http.HcHttpClient;
|
||||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.util.ComponentUtil;
|
||||
|
||||
public interface CrawlingConfig {
|
||||
|
||||
|
@ -43,6 +48,22 @@ public interface CrawlingConfig {
|
|||
|
||||
Map<String, String> getConfigParameterMap(ConfigName name);
|
||||
|
||||
public default void initializeDefaultHttpProxy(final Map<String, Object> paramMap) {
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
final String proxyHost = fessConfig.getHttpProxyHost();
|
||||
final String proxyPort = fessConfig.getHttpProxyPort();
|
||||
if (StringUtil.isNotBlank(proxyHost) && StringUtil.isNotBlank(proxyPort)) {
|
||||
paramMap.put(HcHttpClient.PROXY_HOST_PROPERTY, proxyHost);
|
||||
paramMap.put(HcHttpClient.PROXY_PORT_PROPERTY, proxyPort);
|
||||
final String proxyUsername = fessConfig.getHttpProxyUsername();
|
||||
final String proxyPassword = fessConfig.getHttpProxyPassword();
|
||||
if (proxyUsername != null && proxyPassword != null) {
|
||||
paramMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(proxyUsername, proxyPassword));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public enum ConfigType {
|
||||
WEB("W"), FILE("F"), DATA("D");
|
||||
|
||||
|
|
|
@ -250,6 +250,8 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
|
|||
if (proxyUsername != null && proxyPassword != null) {
|
||||
factoryParamMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(proxyUsername, proxyPassword));
|
||||
}
|
||||
} else {
|
||||
initializeDefaultHttpProxy(factoryParamMap);
|
||||
}
|
||||
|
||||
// file auth
|
||||
|
|
|
@ -238,10 +238,16 @@ public class WebConfig extends BsWebConfig implements CrawlingConfig {
|
|||
paramMap.put(HcHttpClient.REQUERT_HEADERS_PROPERTY,
|
||||
rhList.toArray(new org.codelibs.fess.crawler.client.http.RequestHeader[rhList.size()]));
|
||||
|
||||
// proxy credentials
|
||||
if (paramMap.get("proxyUsername") != null && paramMap.get("proxyPassword") != null) {
|
||||
paramMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(paramMap.remove("proxyUsername")
|
||||
.toString(), paramMap.remove("proxyPassword").toString()));
|
||||
final String proxyHost = (String) paramMap.get("proxyHost");
|
||||
final String proxyPort = (String) paramMap.get("proxyPort");
|
||||
if (StringUtil.isNotBlank(proxyHost) && StringUtil.isNotBlank(proxyPort)) {
|
||||
// proxy credentials
|
||||
if (paramMap.get("proxyUsername") != null && paramMap.get("proxyPassword") != null) {
|
||||
paramMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(paramMap.remove("proxyUsername")
|
||||
.toString(), paramMap.remove("proxyPassword").toString()));
|
||||
}
|
||||
} else {
|
||||
initializeDefaultHttpProxy(paramMap);
|
||||
}
|
||||
|
||||
return paramMap;
|
||||
|
|
Loading…
Add table
Reference in a new issue