MeteoSystem/app/src/main/java/cc/pogoda/mobile/meteosystem/web/RestClientConfig.java

41 wiersze
1.5 KiB
Java

package cc.pogoda.mobile.meteosystem.web;
import static cc.pogoda.mobile.meteosystem.config.WebIoConfig.TIMEOUT_SECOND;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.concurrent.TimeUnit;
import cc.pogoda.mobile.meteosystem.type.CustomLocalDateTime;
import cc.pogoda.mobile.meteosystem.web.deserializer.CustomLocalDateTimeDeserializer;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class RestClientConfig {
public Retrofit getWeatherStationClient() {
Retrofit out = null;
Gson gson = new GsonBuilder().registerTypeAdapter(CustomLocalDateTime.class, new CustomLocalDateTimeDeserializer()).setLenient().create();
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.readTimeout(TIMEOUT_SECOND, TimeUnit.SECONDS);
builder.writeTimeout(TIMEOUT_SECOND, TimeUnit.SECONDS);
builder.connectTimeout(TIMEOUT_SECOND, TimeUnit.SECONDS);
builder.callTimeout(TIMEOUT_SECOND, TimeUnit.SECONDS);
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.HEADERS);
OkHttpClient client = builder.addInterceptor(loggingInterceptor).build();//new OkHttpClient(builder);
out = new Retrofit.Builder().baseUrl("http://pogoda.cc:8080/").addConverterFactory(GsonConverterFactory.create(gson)).client(client).build();
return out;
}
}