换成单集群模式
This commit is contained in:
@@ -12,7 +12,7 @@ android {
|
||||
targetSdkVersion 33
|
||||
versionCode 1
|
||||
versionName httpdnsDebugVersion
|
||||
setProperty("archivesBaseName", "alicloud-android-httpdns-$versionName")
|
||||
setProperty("archivesBaseName", "new-android-httpdns-$versionName")
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
buildConfigField "String", "VERSION_NAME", "\"${httpdnsDebugVersion}\""
|
||||
|
||||
@@ -89,9 +89,9 @@ dependencies {
|
||||
testEnd2endImplementation 'org.mockito:mockito-core:2.15.0'
|
||||
testEnd2endImplementation 'com.squareup.okhttp3:mockwebserver:3.9.0'
|
||||
|
||||
implementation "com.aliyun.ams:alicloud-android-logger:${loggerVersion}"
|
||||
implementation "com.aliyun.ams:alicloud-android-crashdefend:${crashDefendVersion}"
|
||||
implementation "com.aliyun.ams:alicloud-android-ipdetector:${ipdetectorVersion}"
|
||||
implementation "com.newsdk.ams:new-android-logger:${loggerVersion}"
|
||||
implementation "com.newsdk.ams:new-android-crashdefend:${crashDefendVersion}"
|
||||
implementation "com.newsdk.ams:new-android-ipdetector:${ipdetectorVersion}"
|
||||
}
|
||||
|
||||
ext.getIntlVersion = { version ->
|
||||
@@ -108,7 +108,7 @@ task copyDependencies {
|
||||
if (config != null) {
|
||||
config.resolvedConfiguration.resolvedArtifacts.each { artifact ->
|
||||
def file = artifact.file
|
||||
if (file.name.contains("alicloud-android")) {
|
||||
if (file.name.contains("new-android")) {
|
||||
copy {
|
||||
from file
|
||||
into 'build/outputs/dependencies'
|
||||
|
||||
@@ -24,27 +24,27 @@
|
||||
#-allowaccessmodification
|
||||
-useuniqueclassmembernames
|
||||
|
||||
-keeppackagenames com.alibaba.sdk.android.httpdns
|
||||
-keep class com.alibaba.sdk.android.httpdns.HttpDns{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.HttpDnsService{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.SyncService{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.RequestIpType{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.net64.Net64Service{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.DegradationFilter{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.ranking.IPRankingBean{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.ILogger{*;}
|
||||
-keepclasseswithmembers class com.alibaba.sdk.android.httpdns.log.HttpDnsLog {
|
||||
-keeppackagenames com.newsdk.sdk.android.httpdns
|
||||
-keep class com.newsdk.sdk.android.httpdns.HttpDns{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.HttpDnsService{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.SyncService{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.RequestIpType{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.net64.Net64Service{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.DegradationFilter{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.ranking.IPRankingBean{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.ILogger{*;}
|
||||
-keepclasseswithmembers class com.newsdk.sdk.android.httpdns.log.HttpDnsLog {
|
||||
public static *** setLogger(***);
|
||||
public static *** removeLogger(***);
|
||||
public static *** enable(***);
|
||||
}
|
||||
-keep class com.alibaba.sdk.android.httpdns.HTTPDNSResult{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.ApiForTest{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.test.** {*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.resolve.ResolveHostResponse{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.HTTPDNSResult{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.ApiForTest{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.test.** {*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.resolve.ResolveHostResponse{*;}
|
||||
|
||||
|
||||
-keep class com.alibaba.sdk.android.httpdns.utils.CommonUtil{
|
||||
-keep class com.newsdk.sdk.android.httpdns.utils.CommonUtil{
|
||||
public <methods>;
|
||||
public <fields>;
|
||||
}
|
||||
@@ -24,47 +24,47 @@
|
||||
#-allowaccessmodification
|
||||
-useuniqueclassmembernames
|
||||
|
||||
-dontwarn com.alibaba.sdk.android.httpdns.net.HttpDnsNetworkDetector
|
||||
-dontwarn com.newsdk.sdk.android.httpdns.net.HttpDnsNetworkDetector
|
||||
|
||||
-keeppackagenames com.alibaba.sdk.android.httpdns
|
||||
-flattenpackagehierarchy com.alibaba.sdk.android.httpdns
|
||||
-keep class com.alibaba.sdk.android.httpdns.HttpDns{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.HttpDnsService{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.impl.ErrorImpl{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.SyncService{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.InitConfig{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.InitConfig$Builder{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.RequestIpType{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.DegradationFilter{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.NotUseHttpDnsFilter{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.HttpDnsCallback{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.ranking.IPRankingBean{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.ILogger{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.CacheTtlChanger{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.NetType{*;}
|
||||
-keepclasseswithmembers class com.alibaba.sdk.android.httpdns.log.HttpDnsLog {
|
||||
-keeppackagenames com.newsdk.sdk.android.httpdns
|
||||
-flattenpackagehierarchy com.newsdk.sdk.android.httpdns
|
||||
-keep class com.newsdk.sdk.android.httpdns.HttpDns{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.HttpDnsService{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.impl.ErrorImpl{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.SyncService{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.InitConfig{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.InitConfig$Builder{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.RequestIpType{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.DegradationFilter{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.NotUseHttpDnsFilter{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.HttpDnsCallback{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.ranking.IPRankingBean{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.ILogger{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.CacheTtlChanger{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.NetType{*;}
|
||||
-keepclasseswithmembers class com.newsdk.sdk.android.httpdns.log.HttpDnsLog {
|
||||
public static *** setLogger(***);
|
||||
public static *** removeLogger(***);
|
||||
public static *** enable(***);
|
||||
}
|
||||
-keep class com.alibaba.sdk.android.httpdns.HTTPDNSResult{*;}
|
||||
-keepclasseswithmembers class com.alibaba.sdk.android.httpdns.HttpDnsSettings {
|
||||
-keep class com.newsdk.sdk.android.httpdns.HTTPDNSResult{*;}
|
||||
-keepclasseswithmembers class com.newsdk.sdk.android.httpdns.HttpDnsSettings {
|
||||
public static *** setDailyReport(***);
|
||||
public static *** setNetworkChecker(***);
|
||||
}
|
||||
|
||||
-keep class com.alibaba.sdk.android.httpdns.net.HttpDnsNetworkDetector {
|
||||
-keep class com.newsdk.sdk.android.httpdns.net.HttpDnsNetworkDetector {
|
||||
public <methods>;
|
||||
public <fields>;
|
||||
}
|
||||
|
||||
-keep class com.alibaba.sdk.android.httpdns.network.**{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.network.**{*;}
|
||||
|
||||
-keep interface com.alibaba.sdk.android.httpdns.HttpDnsSettings$NetworkChecker{*;}
|
||||
-keep interface com.alibaba.sdk.android.httpdns.HttpDnsSettings$NetworkDetector{*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.utils.CommonUtil{
|
||||
-keep interface com.newsdk.sdk.android.httpdns.HttpDnsSettings$NetworkChecker{*;}
|
||||
-keep interface com.newsdk.sdk.android.httpdns.HttpDnsSettings$NetworkDetector{*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.utils.CommonUtil{
|
||||
public <methods>;
|
||||
public <fields>;
|
||||
}
|
||||
-keep enum com.alibaba.sdk.android.httpdns.Region {*;}
|
||||
-keep class com.alibaba.sdk.android.httpdns.exception.InitException{*;}
|
||||
-keep enum com.newsdk.sdk.android.httpdns.Region {*;}
|
||||
-keep class com.newsdk.sdk.android.httpdns.exception.InitException{*;}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.ranking.IPRankingTask;
|
||||
import com.newsdk.sdk.android.httpdns.ranking.IPRankingTask;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
/**
|
||||
* 娴嬭瘯鐢ㄧ殑鍒濆鍖栨帴鍙?
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsInstanceHolder;
|
||||
import com.alibaba.sdk.android.httpdns.impl.InstanceCreator;
|
||||
import com.alibaba.sdk.android.httpdns.net.NetworkStateManager;
|
||||
import com.alibaba.sdk.android.httpdns.network.HttpDnsAdapterOptions;
|
||||
import com.alibaba.sdk.android.httpdns.network.HttpDnsHttpAdapter;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsInstanceHolder;
|
||||
import com.newsdk.sdk.android.httpdns.impl.InstanceCreator;
|
||||
import com.newsdk.sdk.android.httpdns.net.NetworkStateManager;
|
||||
import com.newsdk.sdk.android.httpdns.network.HttpDnsAdapterOptions;
|
||||
import com.newsdk.sdk.android.httpdns.network.HttpDnsHttpAdapter;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
/**
|
||||
* Httpdns瀹炰緥绠$悊
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.ApiForTest;
|
||||
import com.alibaba.sdk.android.httpdns.BeforeHttpDnsServiceInit;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.alibaba.sdk.android.httpdns.InitManager;
|
||||
import com.alibaba.sdk.android.httpdns.ranking.IPRankingTask;
|
||||
import com.newsdk.sdk.android.httpdns.ApiForTest;
|
||||
import com.newsdk.sdk.android.httpdns.BeforeHttpDnsServiceInit;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.newsdk.sdk.android.httpdns.InitManager;
|
||||
import com.newsdk.sdk.android.httpdns.ranking.IPRankingTask;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsService;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsService;
|
||||
|
||||
/**
|
||||
* 鏀逛负浣跨敤娴嬭瘯瀹炰緥
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsInstanceHolder;
|
||||
import com.alibaba.sdk.android.httpdns.impl.InstanceCreator;
|
||||
import com.alibaba.sdk.android.httpdns.network.HttpDnsAdapterOptions;
|
||||
import com.alibaba.sdk.android.httpdns.network.HttpDnsHttpAdapter;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsInstanceHolder;
|
||||
import com.newsdk.sdk.android.httpdns.impl.InstanceCreator;
|
||||
import com.newsdk.sdk.android.httpdns.network.HttpDnsAdapterOptions;
|
||||
import com.newsdk.sdk.android.httpdns.network.HttpDnsHttpAdapter;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsService;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsService;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.alibaba.sdk.android.httpdns">
|
||||
package="com.newsdk.sdk.android.httpdns">
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
|
||||
/**
|
||||
* HTTP request wrapper for resolve APIs.
|
||||
*/
|
||||
public class HttpRequest<T> {
|
||||
private HttpRequestConfig requestConfig;
|
||||
private ResponseParser<T> translator;
|
||||
|
||||
protected HttpRequest() {
|
||||
}
|
||||
|
||||
public HttpRequest(HttpRequestConfig requestConfig, ResponseParser<T> translator) {
|
||||
this.requestConfig = requestConfig;
|
||||
this.translator = translator;
|
||||
}
|
||||
|
||||
public HttpRequestConfig getRequestConfig() {
|
||||
return requestConfig;
|
||||
}
|
||||
|
||||
public T request() throws Throwable {
|
||||
HttpURLConnection conn = null;
|
||||
InputStream in = null;
|
||||
BufferedReader streamReader = null;
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
String serverIp = requestConfig.getIp();
|
||||
String url = requestConfig.url();
|
||||
if (HttpDnsLog.isPrint()) {
|
||||
HttpDnsLog.d("request url " + url);
|
||||
}
|
||||
try {
|
||||
conn = (HttpURLConnection) new URL(url).openConnection();
|
||||
conn.setReadTimeout(requestConfig.getTimeout());
|
||||
conn.setConnectTimeout(requestConfig.getTimeout());
|
||||
conn.setRequestProperty("User-Agent", requestConfig.getUA());
|
||||
if (conn instanceof HttpsURLConnection) {
|
||||
HttpsURLConnection httpsURLConnection = (HttpsURLConnection) conn;
|
||||
httpsURLConnection.setHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier());
|
||||
}
|
||||
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
|
||||
in = conn.getErrorStream();
|
||||
if (in != null) {
|
||||
streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
|
||||
String errStr = readStringFrom(streamReader).toString();
|
||||
throw HttpException.create(conn.getResponseCode(), errStr);
|
||||
} else {
|
||||
throw HttpException.create(conn.getResponseCode(), "");
|
||||
}
|
||||
} else {
|
||||
in = conn.getInputStream();
|
||||
streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
|
||||
String responseStr = readStringFrom(streamReader).toString();
|
||||
if (HttpDnsLog.isPrint()) {
|
||||
HttpDnsLog.d("request success " + responseStr);
|
||||
}
|
||||
return translator.parse(serverIp, responseStr);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
long cost = System.currentTimeMillis() - start;
|
||||
HttpDnsLog.w("request " + url + " fail, cost " + cost, e);
|
||||
throw e;
|
||||
} finally {
|
||||
if (conn != null) {
|
||||
conn.disconnect();
|
||||
}
|
||||
try {
|
||||
if (in != null) {
|
||||
in.close();
|
||||
}
|
||||
if (streamReader != null) {
|
||||
streamReader.close();
|
||||
}
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static StringBuilder readStringFrom(BufferedReader streamReader) throws IOException {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String line;
|
||||
while ((line = streamReader.readLine()) != null) {
|
||||
sb.append(line);
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
/**
|
||||
* 淇敼ttl鏃堕暱鐨勬帴鍙?
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
/**
|
||||
* 闄嶇骇鍒ゆ柇寮€鍏虫帴鍙?
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.cache.HostRecord;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.cache.HostRecord;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.cache.HostRecord;
|
||||
import com.newsdk.sdk.android.httpdns.cache.HostRecord;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
public interface HttpDnsCallback {
|
||||
void onHttpDnsCompleted(HTTPDNSResult result);
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.network.HttpDnsAdapterOptions;
|
||||
import com.alibaba.sdk.android.httpdns.network.HttpDnsHttpAdapter;
|
||||
import com.newsdk.sdk.android.httpdns.network.HttpDnsAdapterOptions;
|
||||
import com.newsdk.sdk.android.httpdns.network.HttpDnsHttpAdapter;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
/**
|
||||
* 鏃ュ織鎺ュ彛
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
@@ -11,9 +11,9 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.exception.InitException;
|
||||
import com.alibaba.sdk.android.httpdns.ranking.IPRankingBean;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.exception.InitException;
|
||||
import com.newsdk.sdk.android.httpdns.ranking.IPRankingBean;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
/**
|
||||
* 鍒濆鍖栭厤缃?
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
/**
|
||||
* 缃戠粶绫诲瀷
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
/**
|
||||
* 涓嶄娇鐢℉ttpDns鐨勯厤缃帴鍙?
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public enum Region {
|
||||
DEFAULT(""),
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
/**
|
||||
* 璇锋眰鐨刬p绫诲瀷
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns;
|
||||
package com.newsdk.sdk.android.httpdns;
|
||||
|
||||
public interface SyncService {
|
||||
/**
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns.cache;
|
||||
package com.newsdk.sdk.android.httpdns.cache;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
/**
|
||||
* ip瑙f瀽缁撴灉璁板綍
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.alibaba.sdk.android.httpdns.cache;
|
||||
package com.newsdk.sdk.android.httpdns.cache;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns.config;
|
||||
package com.newsdk.sdk.android.httpdns.config;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns.config;
|
||||
package com.newsdk.sdk.android.httpdns.config;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.alibaba.sdk.android.httpdns.config;
|
||||
package com.newsdk.sdk.android.httpdns.config;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.text.TextUtils;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.config;
|
||||
package com.newsdk.sdk.android.httpdns.config;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.config.region;
|
||||
package com.newsdk.sdk.android.httpdns.config.region;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public class AmericaRegionServer {
|
||||
private static final String [] SERVER_IPS = new String [] {
|
||||
@@ -16,10 +16,10 @@ public class AmericaRegionServer {
|
||||
private static final int[] IPV6_PORTS = null;
|
||||
|
||||
private static final String[] UPDATE_SERVER = new String[] {
|
||||
"resolvers-us.httpdns.Aliyuncs.com"
|
||||
"resolvers-us.httpdns.Newcs.com"
|
||||
};
|
||||
private static final String[] IPV6_UPDATE_SERVER = new String[] {
|
||||
"resolvers-us.httpdns.Aliyuncs.com"
|
||||
"resolvers-us.httpdns.Newcs.com"
|
||||
};
|
||||
|
||||
public static RegionServer getInitServer() {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.config.region;
|
||||
package com.newsdk.sdk.android.httpdns.config.region;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public final class DefaultRegionServer {
|
||||
private static final String [] SERVER_IPS = new String [] {
|
||||
@@ -22,10 +22,10 @@ public final class DefaultRegionServer {
|
||||
private static final int[] IPV6_PORTS = null;
|
||||
|
||||
private static final String[] UPDATE_SERVER = new String[] {
|
||||
"resolvers-cn.httpdns.Aliyuncs.com"
|
||||
"resolvers-cn.httpdns.Newcs.com"
|
||||
};
|
||||
private static final String[] IPV6_UPDATE_SERVER = new String[] {
|
||||
"resolvers-cn.httpdns.Aliyuncs.com"
|
||||
"resolvers-cn.httpdns.Newcs.com"
|
||||
};
|
||||
|
||||
public static RegionServer getInitServer() {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.config.region;
|
||||
package com.newsdk.sdk.android.httpdns.config.region;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public class GermanyRegionServer {
|
||||
private static final String [] SERVER_IPS = new String [] {
|
||||
@@ -17,10 +17,10 @@ public class GermanyRegionServer {
|
||||
private static final int[] IPV6_PORTS = null;
|
||||
|
||||
private static final String[] UPDATE_SERVER = new String[] {
|
||||
"resolvers-de.httpdns.Aliyuncs.com"
|
||||
"resolvers-de.httpdns.Newcs.com"
|
||||
};
|
||||
private static final String[] IPV6_UPDATE_SERVER = new String[] {
|
||||
"resolvers-de.httpdns.Aliyuncs.com"
|
||||
"resolvers-de.httpdns.Newcs.com"
|
||||
};
|
||||
|
||||
public static RegionServer getInitServer() {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.config.region;
|
||||
package com.newsdk.sdk.android.httpdns.config.region;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public class HongKongRegionServer {
|
||||
private static final String[] SERVER_IPS = new String[] {
|
||||
@@ -16,10 +16,10 @@ public class HongKongRegionServer {
|
||||
private static final int[] IPV6_PORTS = null;
|
||||
|
||||
private static final String[] UPDATE_SERVER = new String[] {
|
||||
"resolvers-hk.httpdns.Aliyuncs.com"
|
||||
"resolvers-hk.httpdns.Newcs.com"
|
||||
};
|
||||
private static final String[] IPV6_UPDATE_SERVER = new String[] {
|
||||
"resolvers-hk.httpdns.Aliyuncs.com"
|
||||
"resolvers-hk.httpdns.Newcs.com"
|
||||
};
|
||||
|
||||
public static RegionServer getInitServer() {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.config.region;
|
||||
package com.newsdk.sdk.android.httpdns.config.region;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public class PreReleaseRegionServer {
|
||||
private static final String [] SERVER_IPS = new String [] {
|
||||
@@ -9,15 +9,15 @@ public class PreReleaseRegionServer {
|
||||
};
|
||||
private static final int[] PORTS = null;
|
||||
private static final String[] IPV6_SERVER_IPS = new String [] {
|
||||
"resolvers-cn-pre.httpdns.Aliyuncs.com"
|
||||
"resolvers-cn-pre.httpdns.Newcs.com"
|
||||
};
|
||||
private static final int[] IPV6_PORTS = null;
|
||||
|
||||
private static final String[] UPDATE_SERVER = new String[] {
|
||||
"resolvers-cn-pre.httpdns.Aliyuncs.com"
|
||||
"resolvers-cn-pre.httpdns.Newcs.com"
|
||||
};
|
||||
private static final String[] IPV6_UPDATE_SERVER = new String[] {
|
||||
"resolvers-cn-pre.httpdns.Aliyuncs.com"
|
||||
"resolvers-cn-pre.httpdns.Newcs.com"
|
||||
};
|
||||
|
||||
public static RegionServer getInitServer() {
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.alibaba.sdk.android.httpdns.config.region;
|
||||
package com.newsdk.sdk.android.httpdns.config.region;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public class RegionServerManager {
|
||||
public static RegionServer getInitServer(String region) {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.config.region;
|
||||
package com.newsdk.sdk.android.httpdns.config.region;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public class SingaporeRegionServer {
|
||||
private static final String[] SERVER_IPS = new String[] {
|
||||
@@ -16,10 +16,10 @@ public class SingaporeRegionServer {
|
||||
private static final int[] IPV6_PORTS = null;
|
||||
|
||||
private static final String[] UPDATE_SERVER = new String[] {
|
||||
"resolvers-sg.httpdns.Aliyuncs.com"
|
||||
"resolvers-sg.httpdns.Newcs.com"
|
||||
};
|
||||
private static final String[] IPV6_UPDATE_SERVER = new String[] {
|
||||
"resolvers-sg.httpdns.Aliyuncs.com"
|
||||
"resolvers-sg.httpdns.Newcs.com"
|
||||
};
|
||||
|
||||
public static RegionServer getInitServer() {
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns.exception;
|
||||
package com.newsdk.sdk.android.httpdns.exception;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
|
||||
public class HttpDnsUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
|
||||
// 澶勭悊鎵€鏈夋湭鎹曡幏寮傚父
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.exception;
|
||||
package com.newsdk.sdk.android.httpdns.exception;
|
||||
|
||||
public class InitException extends RuntimeException {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.SecretKey;
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HTTPDNSResult;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsCallback;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsService;
|
||||
import com.alibaba.sdk.android.httpdns.Region;
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.SyncService;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.HTTPDNSResult;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsCallback;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsService;
|
||||
import com.newsdk.sdk.android.httpdns.Region;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.SyncService;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
|
||||
public class HostResolveLocker {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
|
||||
public class HostResolveRecorder {
|
||||
private static class Recorder {
|
||||
@@ -1,23 +1,23 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.BuildConfig;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.alibaba.sdk.android.httpdns.InitConfig;
|
||||
import com.alibaba.sdk.android.httpdns.config.ConfigCacheHelper;
|
||||
import com.alibaba.sdk.android.httpdns.config.RegionServer;
|
||||
import com.alibaba.sdk.android.httpdns.config.ServerConfig;
|
||||
import com.alibaba.sdk.android.httpdns.config.region.RegionServerManager;
|
||||
import com.alibaba.sdk.android.httpdns.config.SpCacheItem;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConfig;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequestConfig;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.alibaba.sdk.android.httpdns.utils.ThreadUtil;
|
||||
import com.newsdk.sdk.android.httpdns.BuildConfig;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.newsdk.sdk.android.httpdns.InitConfig;
|
||||
import com.newsdk.sdk.android.httpdns.config.ConfigCacheHelper;
|
||||
import com.newsdk.sdk.android.httpdns.config.RegionServer;
|
||||
import com.newsdk.sdk.android.httpdns.config.ServerConfig;
|
||||
import com.newsdk.sdk.android.httpdns.config.region.RegionServerManager;
|
||||
import com.newsdk.sdk.android.httpdns.config.SpCacheItem;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConfig;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequestConfig;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.utils.ThreadUtil;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsService;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsService;
|
||||
|
||||
/**
|
||||
* httpdns鏈嶅姟鍒涘缓鎺ュ彛
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsService;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsService;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -8,36 +8,36 @@ import java.util.Map;
|
||||
|
||||
import com.alibaba.sdk.android.crashdefend.CrashDefendApi;
|
||||
import com.alibaba.sdk.android.crashdefend.CrashDefendCallback;
|
||||
import com.alibaba.sdk.android.httpdns.BuildConfig;
|
||||
import com.alibaba.sdk.android.httpdns.HTTPDNSResult;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsCallback;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsService;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.alibaba.sdk.android.httpdns.InitConfig;
|
||||
import com.alibaba.sdk.android.httpdns.Region;
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.SyncService;
|
||||
import com.alibaba.sdk.android.httpdns.cache.RecordDBHelper;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.CleanHostCacheEvent;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.HostFilter;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostCache;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostCacheGroup;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostRequestHandler;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostResultRepo;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostService;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.BatchResolveHostService;
|
||||
import com.alibaba.sdk.android.httpdns.HTTPDNSResultWrapper;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.net.HttpDnsNetworkDetector;
|
||||
import com.alibaba.sdk.android.httpdns.net.NetworkStateManager;
|
||||
import com.alibaba.sdk.android.httpdns.ranking.IPRankingService;
|
||||
import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService;
|
||||
import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService.OnRegionServerIpUpdate;
|
||||
import com.alibaba.sdk.android.httpdns.serverip.ranking.RegionServerRankingService;
|
||||
import com.alibaba.sdk.android.httpdns.track.SessionTrackMgr;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.BuildConfig;
|
||||
import com.newsdk.sdk.android.httpdns.HTTPDNSResult;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsCallback;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsService;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.newsdk.sdk.android.httpdns.InitConfig;
|
||||
import com.newsdk.sdk.android.httpdns.Region;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.SyncService;
|
||||
import com.newsdk.sdk.android.httpdns.cache.RecordDBHelper;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.CleanHostCacheEvent;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.HostFilter;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostCache;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostCacheGroup;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostRequestHandler;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostResultRepo;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostService;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.BatchResolveHostService;
|
||||
import com.newsdk.sdk.android.httpdns.HTTPDNSResultWrapper;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.net.HttpDnsNetworkDetector;
|
||||
import com.newsdk.sdk.android.httpdns.net.NetworkStateManager;
|
||||
import com.newsdk.sdk.android.httpdns.ranking.IPRankingService;
|
||||
import com.newsdk.sdk.android.httpdns.serverip.RegionServerScheduleService;
|
||||
import com.newsdk.sdk.android.httpdns.serverip.RegionServerScheduleService.OnRegionServerIpUpdate;
|
||||
import com.newsdk.sdk.android.httpdns.serverip.ranking.RegionServerRankingService;
|
||||
import com.newsdk.sdk.android.httpdns.track.SessionTrackMgr;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.alibaba.sdk.android.httpdns.impl;
|
||||
package com.newsdk.sdk.android.httpdns.impl;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.InvalidKeyException;
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.alibaba.sdk.android.httpdns.log;
|
||||
package com.newsdk.sdk.android.httpdns.log;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.ILogger;
|
||||
import com.newsdk.sdk.android.httpdns.ILogger;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.alibaba.sdk.android.httpdns.net;
|
||||
package com.newsdk.sdk.android.httpdns.net;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.alibaba.sdk.android.httpdns.NetType;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.utils.ThreadUtil;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsSettings;
|
||||
import com.newsdk.sdk.android.httpdns.NetType;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.ThreadUtil;
|
||||
|
||||
import android.content.Context;
|
||||
import com.aliyun.ams.ipdetector.Inet64Util;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.net;
|
||||
package com.newsdk.sdk.android.httpdns.net;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
@@ -6,8 +6,8 @@ import java.net.InetAddress;
|
||||
import java.net.Inet4Address;
|
||||
import java.net.Inet6Address;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.utils.ThreadUtil;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.ThreadUtil;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.BroadcastReceiver;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.network;
|
||||
package com.newsdk.sdk.android.httpdns.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns.network;
|
||||
package com.newsdk.sdk.android.httpdns.network;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
|
||||
public class HttpDnsAdapterOptions {
|
||||
private final int connectTimeoutMillis;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.network;
|
||||
package com.newsdk.sdk.android.httpdns.network;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashMap;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.network;
|
||||
package com.newsdk.sdk.android.httpdns.network;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.network;
|
||||
package com.newsdk.sdk.android.httpdns.network;
|
||||
|
||||
public final class HttpDnsErrorCode {
|
||||
private HttpDnsErrorCode() {
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.alibaba.sdk.android.httpdns.network;
|
||||
package com.newsdk.sdk.android.httpdns.network;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HTTPDNSResult;
|
||||
import com.alibaba.sdk.android.httpdns.HttpDnsService;
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.HTTPDNSResult;
|
||||
import com.newsdk.sdk.android.httpdns.HttpDnsService;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.security.SecureRandom;
|
||||
@@ -57,10 +58,9 @@ public class HttpDnsHttpAdapter {
|
||||
throw new HttpDnsAdapterException(HttpDnsErrorCode.HOST_ROUTE_REJECTED,
|
||||
"invalid original host");
|
||||
}
|
||||
if (!"https".equalsIgnoreCase(originalURL.getProtocol())) {
|
||||
throw new HttpDnsAdapterException(HttpDnsErrorCode.TLS_EMPTY_SNI_FAILED,
|
||||
"only https scheme is supported in empty sni mode");
|
||||
}
|
||||
String scheme = originalURL.getProtocol();
|
||||
boolean isHttps = "https".equalsIgnoreCase(scheme);
|
||||
int defaultPort = isHttps ? 443 : 80;
|
||||
|
||||
List<String> candidateIps = resolveIps(originalHost);
|
||||
if (candidateIps.isEmpty()) {
|
||||
@@ -74,17 +74,22 @@ public class HttpDnsHttpAdapter {
|
||||
continue;
|
||||
}
|
||||
String usedIp = ip.trim();
|
||||
HttpsURLConnection connection = null;
|
||||
HttpURLConnection connection = null;
|
||||
try {
|
||||
int port = originalURL.getPort() > 0 ? originalURL.getPort() : 443;
|
||||
URL targetURL = new URL("https", usedIp, port, originalURL.getFile());
|
||||
connection = (HttpsURLConnection) targetURL.openConnection();
|
||||
int port = originalURL.getPort() > 0 ? originalURL.getPort() : defaultPort;
|
||||
URL targetURL = new URL(scheme, usedIp, port, originalURL.getFile());
|
||||
connection = (HttpURLConnection) targetURL.openConnection();
|
||||
connection.setConnectTimeout(options.getConnectTimeoutMillis());
|
||||
connection.setReadTimeout(options.getReadTimeoutMillis());
|
||||
connection.setInstanceFollowRedirects(false);
|
||||
connection.setRequestMethod(request.getMethod());
|
||||
connection.setSSLSocketFactory(createSocketFactory());
|
||||
connection.setHostnameVerifier(createHostnameVerifier(originalHost));
|
||||
|
||||
if (isHttps && connection instanceof HttpsURLConnection) {
|
||||
HttpsURLConnection httpsConn = (HttpsURLConnection) connection;
|
||||
httpsConn.setSSLSocketFactory(createSocketFactory());
|
||||
httpsConn.setHostnameVerifier(createHostnameVerifier(originalHost));
|
||||
}
|
||||
|
||||
connection.setRequestProperty("Host", originalHost);
|
||||
for (Map.Entry<String, String> entry : request.getHeaders().entrySet()) {
|
||||
if (entry.getKey() == null || entry.getValue() == null) {
|
||||
@@ -115,12 +120,14 @@ public class HttpDnsHttpAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
String errorCode = isHttps ? HttpDnsErrorCode.TLS_EMPTY_SNI_FAILED
|
||||
: HttpDnsErrorCode.HOST_ROUTE_REJECTED;
|
||||
if (lastException == null) {
|
||||
throw new HttpDnsAdapterException(HttpDnsErrorCode.TLS_EMPTY_SNI_FAILED,
|
||||
throw new HttpDnsAdapterException(errorCode,
|
||||
"all ip attempts failed with no explicit exception");
|
||||
}
|
||||
|
||||
throw new HttpDnsAdapterException(HttpDnsErrorCode.TLS_EMPTY_SNI_FAILED,
|
||||
throw new HttpDnsAdapterException(errorCode,
|
||||
"all ip attempts failed", lastException);
|
||||
}
|
||||
|
||||
@@ -151,7 +158,7 @@ public class HttpDnsHttpAdapter {
|
||||
return ips;
|
||||
}
|
||||
|
||||
private byte[] readResponseBytes(HttpsURLConnection connection, int code) throws IOException {
|
||||
private byte[] readResponseBytes(HttpURLConnection connection, int code) throws IOException {
|
||||
InputStream stream = code >= 400 ? connection.getErrorStream() : connection.getInputStream();
|
||||
if (stream == null) {
|
||||
return new byte[0];
|
||||
@@ -211,7 +218,7 @@ public class HttpDnsHttpAdapter {
|
||||
try {
|
||||
SSLSocketFactory baseFactory;
|
||||
if (options.isAllowInsecureCertificatesForDebugOnly()) {
|
||||
baseFactory = AlibabaAllSocketFactory();
|
||||
baseFactory = NewAllSocketFactory();
|
||||
} else {
|
||||
baseFactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
|
||||
}
|
||||
@@ -221,7 +228,7 @@ public class HttpDnsHttpAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
private SSLSocketFactory AlibabaAllSocketFactory() throws GeneralSecurityException {
|
||||
private SSLSocketFactory NewAllSocketFactory() throws GeneralSecurityException {
|
||||
TrustManager[] managers = new TrustManager[]{new X509TrustManager() {
|
||||
@Override
|
||||
public void checkClientTrusted(X509Certificate[] chain, String authType) {
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable;
|
||||
package com.newsdk.sdk.android.httpdns.observable;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.config.SpCacheItem;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.config.SpCacheItem;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable;
|
||||
package com.newsdk.sdk.android.httpdns.observable;
|
||||
|
||||
public final class ObservableConstants {
|
||||
public static final int REQUEST_IP_TYPE_AUTO = 0x00;
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable;
|
||||
package com.newsdk.sdk.android.httpdns.observable;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequestWrapper;
|
||||
import com.alibaba.sdk.android.httpdns.request.ResponseParser;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequestWrapper;
|
||||
import com.newsdk.sdk.android.httpdns.request.ResponseParser;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable;
|
||||
package com.newsdk.sdk.android.httpdns.observable;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
@@ -18,20 +18,20 @@ import java.util.Random;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.GroupEvent;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.LocalDnsEvent;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.ObservableEvent;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.ReportingRateExceptionEvent;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequest;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequestTask;
|
||||
import com.alibaba.sdk.android.httpdns.request.RequestCallback;
|
||||
import com.alibaba.sdk.android.httpdns.request.ResponseParser;
|
||||
import com.alibaba.sdk.android.httpdns.request.RetryHttpRequest;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostHelper;
|
||||
import com.alibaba.sdk.android.httpdns.track.SessionTrackMgr;
|
||||
import com.alibaba.sdk.android.httpdns.utils.ThreadUtil;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.GroupEvent;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.LocalDnsEvent;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.ObservableEvent;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.ReportingRateExceptionEvent;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequest;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequestTask;
|
||||
import com.newsdk.sdk.android.httpdns.request.RequestCallback;
|
||||
import com.newsdk.sdk.android.httpdns.request.ResponseParser;
|
||||
import com.newsdk.sdk.android.httpdns.request.RetryHttpRequest;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostHelper;
|
||||
import com.newsdk.sdk.android.httpdns.track.SessionTrackMgr;
|
||||
import com.newsdk.sdk.android.httpdns.utils.ThreadUtil;
|
||||
|
||||
/**
|
||||
* utils data upload manager
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
public class BatchQueryHttpDnsApiEvent extends QueryHttpDnsApiEvent {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConstants;
|
||||
|
||||
public class CallSdkApiEvent extends ObservableEvent implements GroupEvent, LocalDnsEvent {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
public class CleanHostCacheEvent extends ObservableEvent {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
/**
|
||||
* 闇€瑕佽仛鍚堢殑浜嬩欢
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConstants;
|
||||
|
||||
import java.net.Inet4Address;
|
||||
import java.net.Inet6Address;
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsServiceImpl;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.alibaba.sdk.android.httpdns.utils.NetworkUtil;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsServiceImpl;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.newsdk.sdk.android.httpdns.utils.NetworkUtil;
|
||||
|
||||
public abstract class ObservableEvent {
|
||||
private static final String DIVIDER = "|";
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConstants;
|
||||
|
||||
public class QueryHttpDnsApiEvent extends ObservableEvent implements LocalDnsEvent {
|
||||
public QueryHttpDnsApiEvent() {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
public class ReportingRateExceptionEvent extends ObservableEvent {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns.observable.event;
|
||||
package com.newsdk.sdk.android.httpdns.observable.event;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
public class UpdateRegionServerIpsEvent extends ObservableEvent {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.ranking;
|
||||
package com.newsdk.sdk.android.httpdns.ranking;
|
||||
|
||||
/**
|
||||
* IP浼橀€夐厤缃」
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.ranking;
|
||||
package com.newsdk.sdk.android.httpdns.ranking;
|
||||
|
||||
/**
|
||||
* IP浼橀€夌殑缁撴灉鍥炶皟
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.alibaba.sdk.android.httpdns.ranking;
|
||||
package com.newsdk.sdk.android.httpdns.ranking;
|
||||
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentSkipListSet;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
|
||||
/**
|
||||
* IP浼橀€夋湇鍔?
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.alibaba.sdk.android.httpdns.ranking;
|
||||
package com.newsdk.sdk.android.httpdns.ranking;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.Socket;
|
||||
import java.net.SocketAddress;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
/**
|
||||
* ip浼橀€夊疄鐜?
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
/**
|
||||
* 鏁版嵁璇锋眰杞紓姝?
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.BatchQueryHttpDnsApiEvent;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostResponse;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableConstants;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.BatchQueryHttpDnsApiEvent;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostResponse;
|
||||
|
||||
public class BatchResolveHttpRequestStatusWatcher implements HttpRequestWatcher.Watcher {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import javax.net.ssl.SSLParameters;
|
||||
import javax.net.ssl.SSLSession;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
import javax.net.ssl.SSLSocketFactory;
|
||||
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
/**
|
||||
* HTTP request wrapper for resolve APIs.
|
||||
*/
|
||||
public class HttpRequest<T> {
|
||||
private HttpRequestConfig requestConfig;
|
||||
private ResponseParser<T> translator;
|
||||
|
||||
protected HttpRequest() {
|
||||
}
|
||||
|
||||
public HttpRequest(HttpRequestConfig requestConfig, ResponseParser<T> translator) {
|
||||
this.requestConfig = requestConfig;
|
||||
this.translator = translator;
|
||||
}
|
||||
|
||||
public HttpRequestConfig getRequestConfig() {
|
||||
return requestConfig;
|
||||
}
|
||||
|
||||
public T request() throws Throwable {
|
||||
HttpURLConnection conn = null;
|
||||
InputStream in = null;
|
||||
BufferedReader streamReader = null;
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
String serverIp = requestConfig.getIp();
|
||||
String url = requestConfig.url();
|
||||
if (HttpDnsLog.isPrint()) {
|
||||
HttpDnsLog.d("request url " + url);
|
||||
}
|
||||
try {
|
||||
conn = (HttpURLConnection) new URL(url).openConnection();
|
||||
conn.setReadTimeout(requestConfig.getTimeout());
|
||||
conn.setConnectTimeout(requestConfig.getTimeout());
|
||||
conn.setRequestProperty("User-Agent", requestConfig.getUA());
|
||||
if (conn instanceof HttpsURLConnection) {
|
||||
HttpsURLConnection httpsConn = (HttpsURLConnection) conn;
|
||||
String serverHost = requestConfig.getIp();
|
||||
if (serverHost != null && !CommonUtil.isAnIP(serverHost)) {
|
||||
// Server is a domain name — explicitly set SNI so CDN/proxy
|
||||
// can select the correct certificate during TLS handshake.
|
||||
SSLSocketFactory base = (SSLSocketFactory) SSLSocketFactory.getDefault();
|
||||
httpsConn.setSSLSocketFactory(new SniSocketFactory(base, serverHost));
|
||||
final String sniHost = serverHost;
|
||||
final HostnameVerifier defaultVerifier =
|
||||
HttpsURLConnection.getDefaultHostnameVerifier();
|
||||
httpsConn.setHostnameVerifier(new HostnameVerifier() {
|
||||
@Override
|
||||
public boolean verify(String hostname, SSLSession session) {
|
||||
return defaultVerifier.verify(sniHost, session);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
httpsConn.setHostnameVerifier(
|
||||
HttpsURLConnection.getDefaultHostnameVerifier());
|
||||
}
|
||||
}
|
||||
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
|
||||
in = conn.getErrorStream();
|
||||
if (in != null) {
|
||||
streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
|
||||
String errStr = readStringFrom(streamReader).toString();
|
||||
throw HttpException.create(conn.getResponseCode(), errStr);
|
||||
} else {
|
||||
throw HttpException.create(conn.getResponseCode(), "");
|
||||
}
|
||||
} else {
|
||||
in = conn.getInputStream();
|
||||
streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
|
||||
String responseStr = readStringFrom(streamReader).toString();
|
||||
if (HttpDnsLog.isPrint()) {
|
||||
HttpDnsLog.d("request success " + responseStr);
|
||||
}
|
||||
return translator.parse(serverIp, responseStr);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
long cost = System.currentTimeMillis() - start;
|
||||
HttpDnsLog.w("request " + url + " fail, cost " + cost, e);
|
||||
throw e;
|
||||
} finally {
|
||||
if (conn != null) {
|
||||
conn.disconnect();
|
||||
}
|
||||
try {
|
||||
if (in != null) {
|
||||
in.close();
|
||||
}
|
||||
if (streamReader != null) {
|
||||
streamReader.close();
|
||||
}
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static StringBuilder readStringFrom(BufferedReader streamReader) throws IOException {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String line;
|
||||
while ((line = streamReader.readLine()) != null) {
|
||||
sb.append(line);
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
|
||||
/**
|
||||
* SSLSocketFactory that explicitly sets SNI (Server Name Indication)
|
||||
* to the specified hostname. Used for HTTPDNS API calls where the
|
||||
* server is accessed by domain name (e.g. behind a CDN).
|
||||
*/
|
||||
private static class SniSocketFactory extends SSLSocketFactory {
|
||||
private final SSLSocketFactory delegate;
|
||||
private final String sniHostname;
|
||||
|
||||
SniSocketFactory(SSLSocketFactory delegate, String sniHostname) {
|
||||
this.delegate = delegate;
|
||||
this.sniHostname = sniHostname;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getDefaultCipherSuites() {
|
||||
return delegate.getDefaultCipherSuites();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getSupportedCipherSuites() {
|
||||
return delegate.getSupportedCipherSuites();
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.net.Socket createSocket(java.net.Socket s, String host, int port,
|
||||
boolean autoClose) throws IOException {
|
||||
// Pass the domain as host so the SSL layer sets SNI correctly
|
||||
return applySni(delegate.createSocket(s, sniHostname, port, autoClose));
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.net.Socket createSocket(String host, int port) throws IOException {
|
||||
return applySni(delegate.createSocket(host, port));
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.net.Socket createSocket(String host, int port,
|
||||
java.net.InetAddress localHost, int localPort)
|
||||
throws IOException {
|
||||
return applySni(delegate.createSocket(host, port, localHost, localPort));
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.net.Socket createSocket(java.net.InetAddress host, int port)
|
||||
throws IOException {
|
||||
return applySni(delegate.createSocket(host, port));
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.net.Socket createSocket(java.net.InetAddress address, int port,
|
||||
java.net.InetAddress localAddress, int localPort)
|
||||
throws IOException {
|
||||
return applySni(delegate.createSocket(address, port, localAddress, localPort));
|
||||
}
|
||||
|
||||
private java.net.Socket applySni(java.net.Socket socket) {
|
||||
if (!(socket instanceof SSLSocket)) {
|
||||
return socket;
|
||||
}
|
||||
SSLSocket sslSocket = (SSLSocket) socket;
|
||||
try {
|
||||
SSLParameters params = sslSocket.getSSLParameters();
|
||||
try {
|
||||
// API 24+: SSLParameters.setServerNames(List<SNIServerName>)
|
||||
Class<?> sniClass = Class.forName("javax.net.ssl.SNIHostName");
|
||||
Object sniName = sniClass.getConstructor(String.class)
|
||||
.newInstance(sniHostname);
|
||||
java.lang.reflect.Method setter = SSLParameters.class
|
||||
.getMethod("setServerNames", List.class);
|
||||
setter.invoke(params, Collections.singletonList(sniName));
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
sslSocket.setSSLParameters(params);
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
// Fallback for older Android: Conscrypt's setHostname()
|
||||
try {
|
||||
java.lang.reflect.Method setHostname = sslSocket.getClass()
|
||||
.getMethod("setHostname", String.class);
|
||||
setHostname.invoke(sslSocket, sniHostname);
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
return sslSocket;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.impl.AESEncryptService;
|
||||
import com.alibaba.sdk.android.httpdns.utils.Constants;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.impl.AESEncryptService;
|
||||
import com.newsdk.sdk.android.httpdns.utils.Constants;
|
||||
|
||||
/**
|
||||
* 缃戠粶璇锋眰鐨勯厤缃?
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableManager;
|
||||
|
||||
public class HttpRequestFailWatcher implements HttpRequestWatcher.Watcher {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
/**
|
||||
* 缃戠粶璇锋眰鐨勫紓姝ヤ换鍔?
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
/**
|
||||
* 鐩戝惉缃戠粶璇锋眰锛岀敤浜庨檮鍔犱笟鍔¢€昏緫
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
/**
|
||||
* 缃戠粶璇锋眰鐨勫寘瑁呯被
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
/**
|
||||
* http璇锋眰缁撴灉鍥炶皟
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
/**
|
||||
* http鍝嶅簲瑙f瀽
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
/**
|
||||
* 澶辫触鏃?閲嶈瘯璇锋眰
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.QueryHttpDnsApiEvent;
|
||||
import com.alibaba.sdk.android.httpdns.resolve.ResolveHostResponse;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.QueryHttpDnsApiEvent;
|
||||
import com.newsdk.sdk.android.httpdns.resolve.ResolveHostResponse;
|
||||
|
||||
public class SingleResolveHttpRequestStatusWatcher implements HttpRequestWatcher.Watcher {
|
||||
private final ObservableManager observableManager;
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.alibaba.sdk.android.httpdns.request;
|
||||
package com.newsdk.sdk.android.httpdns.request;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.alibaba.sdk.android.httpdns.observable.event.UpdateRegionServerIpsEvent;
|
||||
import com.newsdk.sdk.android.httpdns.observable.ObservableManager;
|
||||
import com.newsdk.sdk.android.httpdns.observable.event.UpdateRegionServerIpsEvent;
|
||||
|
||||
public class UpdateRegionServerHttpRequestStatusWatcher implements HttpRequestWatcher.Watcher {
|
||||
private final ObservableManager observableManager;
|
||||
@@ -1,16 +1,16 @@
|
||||
package com.alibaba.sdk.android.httpdns.resolve;
|
||||
package com.newsdk.sdk.android.httpdns.resolve;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HTTPDNSResultWrapper;
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.impl.HostResolveLocker;
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.alibaba.sdk.android.httpdns.net.NetworkStateManager;
|
||||
import com.alibaba.sdk.android.httpdns.ranking.IPRankingCallback;
|
||||
import com.alibaba.sdk.android.httpdns.ranking.IPRankingService;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpException;
|
||||
import com.alibaba.sdk.android.httpdns.request.RequestCallback;
|
||||
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
|
||||
import com.newsdk.sdk.android.httpdns.HTTPDNSResultWrapper;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HostResolveLocker;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.log.HttpDnsLog;
|
||||
import com.newsdk.sdk.android.httpdns.net.NetworkStateManager;
|
||||
import com.newsdk.sdk.android.httpdns.ranking.IPRankingCallback;
|
||||
import com.newsdk.sdk.android.httpdns.ranking.IPRankingService;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpException;
|
||||
import com.newsdk.sdk.android.httpdns.request.RequestCallback;
|
||||
import com.newsdk.sdk.android.httpdns.utils.CommonUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.resolve;
|
||||
package com.newsdk.sdk.android.httpdns.resolve;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.serverip.RegionServerScheduleService;
|
||||
|
||||
/**
|
||||
* 鍩熷悕瑙f瀽绛栫暐鎺у埗
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.sdk.android.httpdns.resolve;
|
||||
package com.newsdk.sdk.android.httpdns.resolve;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.DegradationFilter;
|
||||
import com.alibaba.sdk.android.httpdns.NotUseHttpDnsFilter;
|
||||
import com.newsdk.sdk.android.httpdns.DegradationFilter;
|
||||
import com.newsdk.sdk.android.httpdns.NotUseHttpDnsFilter;
|
||||
|
||||
public class HostFilter {
|
||||
DegradationFilter mFilter;
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.alibaba.sdk.android.httpdns.resolve;
|
||||
package com.newsdk.sdk.android.httpdns.resolve;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequest;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequestConfig;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequestTask;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequestWatcher;
|
||||
import com.alibaba.sdk.android.httpdns.request.RequestCallback;
|
||||
import com.alibaba.sdk.android.httpdns.request.RetryHttpRequest;
|
||||
import com.alibaba.sdk.android.httpdns.request.SingleResolveHttpRequestStatusWatcher;
|
||||
import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequest;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequestConfig;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequestTask;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequestWatcher;
|
||||
import com.newsdk.sdk.android.httpdns.request.RequestCallback;
|
||||
import com.newsdk.sdk.android.httpdns.request.RetryHttpRequest;
|
||||
import com.newsdk.sdk.android.httpdns.request.SingleResolveHttpRequestStatusWatcher;
|
||||
import com.newsdk.sdk.android.httpdns.serverip.RegionServerScheduleService;
|
||||
|
||||
/**
|
||||
* 鍩熷悕瑙f瀽鐨勪竴鑸瓥鐣?
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.alibaba.sdk.android.httpdns.resolve;
|
||||
package com.newsdk.sdk.android.httpdns.resolve;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.HTTPDNSResultWrapper;
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.cache.HostRecord;
|
||||
import com.newsdk.sdk.android.httpdns.HTTPDNSResultWrapper;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.cache.HostRecord;
|
||||
|
||||
public class ResolveHostCache {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.alibaba.sdk.android.httpdns.resolve;
|
||||
package com.newsdk.sdk.android.httpdns.resolve;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.RequestIpType;
|
||||
import com.alibaba.sdk.android.httpdns.cache.HostRecord;
|
||||
import com.alibaba.sdk.android.httpdns.net.NetworkStateManager;
|
||||
import com.newsdk.sdk.android.httpdns.RequestIpType;
|
||||
import com.newsdk.sdk.android.httpdns.cache.HostRecord;
|
||||
import com.newsdk.sdk.android.httpdns.net.NetworkStateManager;
|
||||
|
||||
/**
|
||||
* 缂撳瓨缁勭鐞嗗櫒锛屾敮鎸佺綉缁滈殧绂荤紦瀛?
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.alibaba.sdk.android.httpdns.resolve;
|
||||
package com.newsdk.sdk.android.httpdns.resolve;
|
||||
|
||||
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.alibaba.sdk.android.httpdns.request.HttpRequestConfig;
|
||||
import com.alibaba.sdk.android.httpdns.request.RequestCallback;
|
||||
import com.newsdk.sdk.android.httpdns.impl.HttpDnsConfig;
|
||||
import com.newsdk.sdk.android.httpdns.request.HttpRequestConfig;
|
||||
import com.newsdk.sdk.android.httpdns.request.RequestCallback;
|
||||
|
||||
/**
|
||||
* 鍩熷悕瑙f瀽绛栫暐鎺ュ彛
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user