initial commit
This commit is contained in:
66
app/src/main/java/ch/pizzapp/android/api/ApiService.java
Normal file
66
app/src/main/java/ch/pizzapp/android/api/ApiService.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package ch.pizzapp.android.api;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import okhttp3.logging.HttpLoggingInterceptor;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
|
||||
public class ApiService {
|
||||
|
||||
private static ApiService apiService = new ApiService();
|
||||
public static ApiInterface apiInterface;
|
||||
public static Retrofit retrofit;
|
||||
|
||||
private ApiService() { reset();}
|
||||
|
||||
public static ApiService getInstance() {
|
||||
return apiService;
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
Gson gson = new GsonBuilder()
|
||||
.setLenient()
|
||||
.create();
|
||||
|
||||
|
||||
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
|
||||
builder.readTimeout(ApiConstants.API_READ_TIMEOUT, TimeUnit.SECONDS);
|
||||
builder.connectTimeout(ApiConstants.API_CONNECT_TIMEOUT, TimeUnit.SECONDS);
|
||||
|
||||
builder.addInterceptor(new Interceptor() {
|
||||
@Override
|
||||
public Response intercept(Interceptor.Chain chain) throws IOException {
|
||||
|
||||
Request.Builder builder = chain.request().newBuilder();
|
||||
builder.addHeader("Content-Type", "application/json");
|
||||
|
||||
Request request = builder.build();
|
||||
return chain.proceed(request);
|
||||
}
|
||||
});
|
||||
|
||||
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); // set your desired log level
|
||||
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
|
||||
//builder.addInterceptor(logging);
|
||||
|
||||
OkHttpClient client = builder.build();
|
||||
|
||||
retrofit = new Retrofit.Builder()
|
||||
.baseUrl(ApiConstants.API_PATH)
|
||||
.addConverterFactory(GsonConverterFactory.create(gson))
|
||||
.client(client)
|
||||
.build();
|
||||
|
||||
apiInterface = retrofit.create(ApiInterface.class);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user