package licola.demo.com.huabandemo.HttpUtils;
import com.google.gson.Gson;
import java.io.IOException;
import licola.demo.com.huabandemo.API.OnProgressResponseListener;
import licola.demo.com.huabandemo.HttpUtils.Converter.AvatarConverter;
import licola.demo.com.huabandemo.Util.Logger;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Response;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import static licola.demo.com.huabandemo.HttpUtils.OkHttpHelper.addLogClient;
import static licola.demo.com.huabandemo.HttpUtils.OkHttpHelper.addProgressClient;
/**
* Created by LiCola on 2016/04/16 0:08
*/
public class RetrofitClient {
//所有的联网地址 统一成https
public final static String mBaseUrl = "https://api.huaban.com/";
public static Gson gson = new Gson();
private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
public static Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl(mBaseUrl)
.addCallAdapterFactory(RxJavaCallAdapterFactory.create());
public static <S> S createService(Class<S> serviceClass) {
Retrofit retrofit = builder
.client(addLogClient(httpClient).build())
.addConverterFactory(AvatarConverter.create(gson))
.build();
return retrofit.create(serviceClass);
}
public static <S> S createService(Class<S> serviceClass,OnProgressResponseListener listener) {
Retrofit retrofit = builder
.client(addProgressClient(httpClient,listener).build())
.build();
return retrofit.create(serviceClass);
}
}