From b4c6fb2b84dd9a908159817565330ecaba88fe25 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 18 Jan 2021 18:25:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9httpdns=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=EF=BC=8C=E7=9B=AE=E5=89=8D=E4=BB=A5=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E8=BD=AC=E5=9F=9F=E5=90=8D=E6=96=B9=E5=BC=8F=E8=AE=BF?= =?UTF-8?q?=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/bus/bean/OchBusRoutesResponse.java | 2 ++ .../och/bus/presenter/OchBusPresenter.java | 2 +- .../java/com/mogo/httpdns/IMogoHttpDns.java | 10 ++++++++++ .../com/mogo/httpdns/mogo/MogoHttpDns.java | 18 +++++++++++++++++- .../com/mogo/httpdns/noop/HttpDnsNoop.java | 11 +++++++++++ .../com/mogo/commons/AbsMogoApplication.java | 12 +++++++++++- 6 files changed, 52 insertions(+), 3 deletions(-) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusRoutesResponse.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusRoutesResponse.java index ac56cf1ef4..cc8933dcbd 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusRoutesResponse.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusRoutesResponse.java @@ -19,4 +19,6 @@ public class OchBusRoutesResponse extends BaseData { } + + } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java index 4bdc3d6838..a2a4aef49f 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java @@ -50,7 +50,7 @@ public class OchBusPresenter extends Presenter { super.onSuccess(o); Logger.d(TAG, "获取到小巴路线数据: " + o); if (mView != null) { - mView.refreshBusStations(o.getResult().getSiteData()); +// mView.refreshBusStations(o.getResult().getSiteData()); } } diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java index 653a033f26..57ed0e65fc 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java @@ -66,6 +66,16 @@ public interface IMogoHttpDns extends IProvider { @Keep void getHttpDnsIp(String host, int type, boolean useCache, IHttpDnsCallback callback); + /** + * 同步进行dns解析,无需回调 + * @param host + * @param type + * @param useCache + * + * @return ip:port + */ + String syncGetHttpDns(String host, int type, boolean useCache); + // /** // * 监听 ttl 回调 // * diff --git a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java index 142e28f4cf..7cb4fcf508 100644 --- a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java +++ b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java @@ -49,6 +49,22 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe return httpDnsHelper.getHttpDnsCachedAddress(type, host); } + @Override + public String syncGetHttpDns(String host, int type, boolean useCache) { + Logger.d("MogoHttpDns", "getHttpDnsIp host: " + host + " type: " + type); + Map map = httpDnsHelper.getAllAddress(); + if (useCache) { + String address = httpDnsHelper.getHttpDnsCachedAddress(type, host); + if (address != null) { + return address; + } else { + return httpDnsHelper.getHttpDnsAddress(type, host); + } + } else { + return httpDnsHelper.getHttpDnsAddress(type, host); + } + } + @Override public void getHttpDnsIp(String host, int type, boolean useCache, IHttpDnsCallback callback) { Logger.d("MogoHttpDns", "getHttpDnsIp host: " + host + " type: " + type); @@ -96,7 +112,7 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe public HttpDnsSimpleLocation getCurrentLocation() { HttpSimpleLocation simpleLocation = locationChanged.getLocation(); if (simpleLocation != null) { - return new HttpDnsSimpleLocation(simpleLocation.getCityCode(), simpleLocation.getLat(), simpleLocation.getLon()); + return new HttpDnsSimpleLocation("010", simpleLocation.getLat(), simpleLocation.getLon()); } return null; } diff --git a/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java b/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java index 5cd0e7df49..04944cd4a5 100644 --- a/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java +++ b/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java @@ -5,6 +5,7 @@ import android.content.Context; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.httpdns.HttpDnsConst; import com.mogo.httpdns.IHttpDnsCallback; +import com.mogo.httpdns.IHttpDnsLocationChanged; import com.mogo.httpdns.IHttpDnsTtlCallback; import com.mogo.httpdns.IMogoHttpDns; import com.mogo.utils.network.HttpDns; @@ -29,6 +30,11 @@ class HttpDnsNoop implements IMogoHttpDns { return host; } + @Override + public String syncGetHttpDns(String host, int type, boolean useCache) { + return host; + } + @Override public void getHttpDnsIp( String host,int type, boolean useCache, IHttpDnsCallback callback ) { if ( callback != null ) { @@ -46,6 +52,11 @@ class HttpDnsNoop implements IMogoHttpDns { } + @Override + public void init(Context context, IHttpDnsLocationChanged locationChanged) { + + } + @Override public void init( Context context ) { diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java index f35b7a2549..4037c1772e 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java @@ -19,6 +19,7 @@ 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.httpdns.HttpDnsConst; import com.mogo.httpdns.IMogoHttpDns; import com.mogo.httpdns.MogoHttpDnsHandler; import com.mogo.utils.ThreadPoolService; @@ -178,7 +179,16 @@ public abstract class AbsMogoApplication extends Application { .build(); return chain.proceed( request ); } ) - .setHttpDns( dns.dns() ) + // 增加域名->域名的转换方式,暂时去掉httpdns方式 + .addInterceptor(chain -> { + Request request = chain.request(); + String path = request.url().encodedPath(); + String host = "http://" + dns.syncGetHttpDns(request.url().host().replace("http://", "").replace("https://", ""), HttpDnsConst.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() ); } }