代码抽取聚合
1、将foudations包下mogo-utils模块下的network部分,抽取到core包下的mogo-core-network模块 2、将foudations包下mogo-commons模块下的部分network类,抽取到core包下的mogo-core-network模块 3、将AbsMogoApplication类中网络配置代码,抽取到NetConfigUtils类中
This commit is contained in:
@@ -19,24 +19,12 @@ import com.mogo.commons.analytics.AnalyticsUtils;
|
||||
import com.mogo.commons.crash.FinalizeCrashFixer;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.device.Devices;
|
||||
import com.mogo.commons.network.AllAllowedHostnameVerifier;
|
||||
import com.mogo.commons.network.Constants;
|
||||
import com.mogo.commons.network.ParamsUtil;
|
||||
import com.mogo.commons.network.X509TrustManagerImpl;
|
||||
import com.mogo.commons.storage.SpStorage;
|
||||
import com.mogo.commons.network.NetConfigUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipDrawable;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.eagle.core.utilcode.util.Utils;
|
||||
import com.mogo.utils.ThreadPoolService;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.NetConfig;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.TrustManager;
|
||||
|
||||
import okhttp3.Request;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -135,25 +123,14 @@ public abstract class AbsMogoApplication extends Application {
|
||||
return contentView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 忽略 https 验证
|
||||
*
|
||||
* @return {@link SSLContext}
|
||||
* @throws Exception
|
||||
*/
|
||||
private static SSLContext getSslContext() throws Exception {
|
||||
SSLContext sc = null;
|
||||
sc = SSLContext.getInstance("SSL");
|
||||
sc.init(null, new TrustManager[]{new X509TrustManagerImpl()}, new SecureRandom());
|
||||
return sc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步初始化
|
||||
*/
|
||||
protected void asyncInit() {
|
||||
ThreadPoolService.execute(() -> {
|
||||
initNetConfig();
|
||||
|
||||
//初始化网络配置
|
||||
NetConfigUtils.init(sApis);
|
||||
// 初始化埋点
|
||||
AnalyticsUtils.init(sApp);
|
||||
if (DebugConfig.getCarMachineType() == CAR_MACHINE_TYPE_SELF_INNOVATE) {
|
||||
@@ -171,39 +148,7 @@ public abstract class AbsMogoApplication extends Application {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化网络配置
|
||||
*/
|
||||
private static void initNetConfig() {
|
||||
try {
|
||||
SSLContext sc = getSslContext();
|
||||
NetConfig.instance().setSslContext(sc);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
NetConfig.instance().setSignaturePrefix(Constants.SIGN_PREFIX)
|
||||
.setPublicParams(ParamsUtil.getStaticParams())
|
||||
.setHostnameVerifier(new AllAllowedHostnameVerifier())
|
||||
.addNetworkInterceptor(chain -> {
|
||||
Request original = chain.request();
|
||||
Request request = original.newBuilder()
|
||||
.header("token", SpStorage.getTicket())
|
||||
.method(original.method(), original.body())
|
||||
.build();
|
||||
return chain.proceed(request);
|
||||
})
|
||||
// 增加域名->域名的转换方式,暂时去掉httpdns方式
|
||||
.addInterceptor(chain -> {
|
||||
Request request = chain.request();
|
||||
String path = request.url().encodedPath();
|
||||
String host = "http://" + sApis.syncGetHttpDns(request.url().host().replace("http://", "").replace("https://", ""), HTTP_DNS_ADDRESS_TYPE_HTTP, true);
|
||||
String url = host + path;
|
||||
Logger.d("DomainExchange", "oriHost: " + request.url().host() + " newHost: " + host + " \r\n newUrl: " + url);
|
||||
return chain.proceed(request.newBuilder().url(url).build());
|
||||
})
|
||||
.setHttpDns(null)
|
||||
.setLoggable(DebugConfig.isDebug());
|
||||
}
|
||||
|
||||
|
||||
// 缓存IP地址
|
||||
private String cacheIp = null;
|
||||
|
||||
Reference in New Issue
Block a user