95 lines
2.0 KiB
Java
95 lines
2.0 KiB
Java
package com.mogo.httpdns;
|
|
|
|
import androidx.annotation.Keep;
|
|
import androidx.annotation.Nullable;
|
|
|
|
import com.alibaba.android.arouter.facade.template.IProvider;
|
|
import com.mogo.utils.network.HttpDns;
|
|
|
|
import java.util.Collection;
|
|
import java.util.List;
|
|
|
|
public
|
|
/**
|
|
* @author congtaowang
|
|
* @since 2020/11/18
|
|
*
|
|
* http 请求做http dns转换
|
|
*/
|
|
@Keep
|
|
interface IMogoHttpDns extends IProvider {
|
|
|
|
/**
|
|
* 获取 dns 代理实例
|
|
*
|
|
* @return
|
|
*/
|
|
@Nullable
|
|
HttpDns dns();
|
|
|
|
// /**
|
|
// * 获取缓存中的 dns ip地址
|
|
// *
|
|
// * @param host
|
|
// * @return
|
|
// */
|
|
// @Nullable
|
|
// String getCachedHttpDnsIps( String host );
|
|
|
|
/**
|
|
* 获取缓存中的dns ip地址
|
|
* @param host domain
|
|
* @param type 类型
|
|
* @return
|
|
*/
|
|
String getCachedHttpDnsIps(String host, int type);
|
|
//
|
|
// /**
|
|
// * dns 解析
|
|
// *
|
|
// * @param host 域名
|
|
// * @param useCache 是否使用缓存,是 - 如果没有缓存,则解析新地址、否 - 解析新地址,并将新地址缓存
|
|
// * @param callback
|
|
// */
|
|
// void getHttpDnsIp( String host, boolean useCache, IHttpDnsCallback callback );
|
|
|
|
/**
|
|
* dns解析
|
|
* @param host
|
|
* @param type
|
|
* @param useCache
|
|
* @param callback
|
|
*/
|
|
void getHttpDnsIp(String host, int type, boolean useCache, IHttpDnsCallback callback);
|
|
|
|
// /**
|
|
// * 监听 ttl 回调
|
|
// *
|
|
// * @param host 域名
|
|
// * @param callback
|
|
// */
|
|
// void addHttpDnsTtlCallback( String host, IHttpDnsTtlCallback callback );
|
|
|
|
/**
|
|
* 监听ttl回调
|
|
* @param host
|
|
* @param type
|
|
* @param callback
|
|
*/
|
|
void addHttpDnsTtlCallback(String host, int type, IHttpDnsTtlCallback callback);
|
|
|
|
// /**
|
|
// * 注销 ttl 回调
|
|
// *
|
|
// * @param host 域名
|
|
// */
|
|
// void removeHttpDnsTtlCallback( String host );
|
|
|
|
/**
|
|
* 注销ttl回调
|
|
* @param host
|
|
* @param type
|
|
*/
|
|
void removeHttpDnsTtlCallback(String host,int type);
|
|
}
|