package com.example.administrator.cookman.model.net;
import com.example.administrator.cookman.BuildConfig;
import com.example.administrator.cookman.constants.Constants;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
/**
* Created by Administrator on 2017/2/17.
*/
public class RetrofitService {
private static RetrofitService Instance = null;
public static RetrofitService getInstance(){
if(Instance == null)
Instance = new RetrofitService();
return Instance;
}
private String Tag = RetrofitService.class.getSimpleName();
private OkHttpClient okHttpClient;
private Retrofit retrofit;
private RetrofitService(){
if (BuildConfig.DEBUG) {
okHttpClient = new OkHttpClient();
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
okHttpClient = new OkHttpClient.Builder().addInterceptor(logging).build();
retrofit = new Retrofit.Builder()
.baseUrl(Constants.baseURL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.client(okHttpClient)
.build();
}
else{
okHttpClient = new OkHttpClient();
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.NONE);
retrofit = new Retrofit.Builder()
.baseUrl(Constants.baseURL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.client(okHttpClient)
.build();
}
}
public <T> T createApi(Class<T> clazz) {
return retrofit.create(clazz);
}
}