Advertisement
Neyasbit

RetrofitBuilder

Mar 26th, 2019
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.80 KB | None | 0 0
  1. package com.example.recyclerviewtest.networks;
  2.  
  3. import java.io.IOException;
  4.  
  5. import okhttp3.Interceptor;
  6. import okhttp3.OkHttpClient;
  7. import okhttp3.Request;
  8. import okhttp3.Response;
  9. import retrofit2.Retrofit;
  10. import retrofit2.converter.moshi.MoshiConverterFactory;
  11.  
  12. public class RetrofitBuilder {
  13.  
  14.     private static final String BASE_URL = "http://tip-n-trip.trabaho.ru/api/";
  15.  
  16.     private static OkHttpClient client = buildClient();
  17.     private static Retrofit retrofit = retrofitBuilder(client);
  18.  
  19.     private static OkHttpClient buildClient() {
  20.         OkHttpClient.Builder builder = new OkHttpClient.Builder()
  21.                 .addInterceptor(new Interceptor() {
  22.                     @Override
  23.                     public Response intercept(Chain chain) throws IOException {
  24.                         Request request = chain.request();
  25.  
  26.                         Request.Builder builder = request.newBuilder()
  27.                                 .addHeader("Content-Type", "application/x-www-form-urlencoded")
  28.                                 .addHeader("Accept", "application/json")
  29.                                 .addHeader("Connection", "close");
  30.  
  31.  
  32.                         request = builder.build();
  33.  
  34.                         return chain.proceed(request);
  35.                     }
  36.                 });
  37.         return builder.build();
  38.     }
  39.  
  40.     private static Retrofit retrofitBuilder(OkHttpClient client) {
  41.         return new Retrofit.Builder()
  42.                 .baseUrl(BASE_URL)
  43.                 .client(client)
  44.                 .addConverterFactory(MoshiConverterFactory.create())
  45.                 .build();
  46.     }
  47.  
  48.     public static <T> T createService(Class<T> service) {
  49.         return retrofit.create(service);
  50.     }
  51.  
  52.     public static Retrofit getRetrofit() {
  53.         return retrofit;
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement