62 lines
3.1 KiB
Java
62 lines
3.1 KiB
Java
package com.ubt.jimu.base.http;
|
|
|
|
import com.ubt.jimu.JimuApplication;
|
|
import com.ubt.jimu.analytics.AppDelayInit;
|
|
import com.ubt.jimu.base.http.converter.GsonConverterFactory;
|
|
import com.ubt.jimu.base.http.interceptor.CommonParamsInterceptor;
|
|
import com.ubt.jimu.base.http.interceptor.ResponseBodyInterceptor;
|
|
import com.ubtech.utils.XLog;
|
|
import java.util.concurrent.TimeUnit;
|
|
import javax.net.ssl.HostnameVerifier;
|
|
import javax.net.ssl.SSLSession;
|
|
import okhttp3.OkHttpClient;
|
|
import okhttp3.logging.HttpLoggingInterceptor;
|
|
import retrofit2.Retrofit;
|
|
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class ApiClient {
|
|
public static Retrofit retrofit;
|
|
|
|
public static <T> T getService(Class<T> cls) {
|
|
if (retrofit == null) {
|
|
AppDelayInit.a(JimuApplication.l());
|
|
}
|
|
return (T) retrofit.create(cls);
|
|
}
|
|
|
|
public static <T> T initApiClient(ApiConfiguration apiConfiguration, Class<T> cls) {
|
|
return (T) new Retrofit.Builder().addCallAdapterFactory(RxJava2CallAdapterFactory.create()).client(new OkHttpClient().newBuilder().build()).build().create(cls);
|
|
}
|
|
|
|
public static synchronized void initApiClient(ApiConfiguration apiConfiguration) {
|
|
synchronized (ApiClient.class) {
|
|
if (retrofit == null) {
|
|
OkHttpClient.Builder newBuilder = new OkHttpClient().newBuilder();
|
|
newBuilder.readTimeout(10L, TimeUnit.SECONDS);
|
|
newBuilder.connectTimeout(10L, TimeUnit.SECONDS);
|
|
newBuilder.hostnameVerifier(new HostnameVerifier() { // from class: com.ubt.jimu.base.http.ApiClient.2
|
|
@Override // javax.net.ssl.HostnameVerifier
|
|
public boolean verify(String str, SSLSession sSLSession) {
|
|
return true;
|
|
}
|
|
});
|
|
newBuilder.addNetworkInterceptor(new CommonParamsInterceptor.Builder().addPostParams(apiConfiguration.basicParams).addHeaders(apiConfiguration.headersParams).build());
|
|
newBuilder.addNetworkInterceptor(new NetInterceptor());
|
|
newBuilder.addNetworkInterceptor(new ResponseBodyInterceptor());
|
|
if (apiConfiguration.debug) {
|
|
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { // from class: com.ubt.jimu.base.http.ApiClient.3
|
|
@Override // okhttp3.logging.HttpLoggingInterceptor.Logger
|
|
public void log(String str) {
|
|
XLog.c("okhttp3:", str);
|
|
}
|
|
});
|
|
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
|
|
newBuilder.addInterceptor(httpLoggingInterceptor);
|
|
}
|
|
retrofit = new Retrofit.Builder().baseUrl(apiConfiguration.baseUrl).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJava2CallAdapterFactory.create()).client(newBuilder.build()).build();
|
|
}
|
|
}
|
|
}
|
|
}
|