package com.example.administrator.cinemavideo.utils;
import com.example.administrator.cinemavideo.api.ApiService;
import com.example.administrator.cinemavideo.api.ApiServiceVar;
import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import java.util.logging.Handler;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class HttpUtils {
private static volatile HttpUtils instance;
private final Retrofit retrofit;
private HttpUtils(){
//拦截器
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BASIC);
OkHttpClient build = new OkHttpClient.Builder()
.addInterceptor(interceptor)
.build();
retrofit = new Retrofit.Builder()
.baseUrl(ApiServiceVar.API_URL)
.client(build)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
}
public static HttpUtils getInstance() {
if(instance == null){
synchronized (HttpUtils.class){
if(null == instance){
instance = new HttpUtils();
}
}
}
return instance;
}
public ApiService getApiService(){
return retrofit.create(ApiService.class);
}
}