Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.47 KB | None | 0 0
  1. package com.comtrade.aicapone.Services
  2.  
  3.  
  4. import android.util.Log
  5. import com.comtrade.aicapone.Vehicle
  6. import com.google.gson.Gson
  7. import okhttp3.Interceptor
  8. import okhttp3.OkHttpClient
  9. import okhttp3.Request
  10. import retrofit2.Call
  11. import retrofit2.Retrofit
  12. import retrofit2.converter.gson.GsonConverterFactory
  13. import retrofit2.http.*
  14.  
  15. interface VehicleBaseService {
  16.     @POST("Vehicles")
  17.     fun post(@Body body: Vehicle): Call<Vehicle>
  18.  
  19.     @GET("Vehicles")
  20.     fun get(@Query("typeId") typeId: Int): Call<Array<Vehicle>>
  21.  
  22. }
  23. class VehicleService(val API_BASE_URL: String) {
  24.  
  25.     fun getClient(token: String?): OkHttpClient {
  26.         var httpClient: OkHttpClient.Builder = OkHttpClient.Builder().addInterceptor(object: okhttp3.Interceptor{
  27.             override fun intercept(chain: Interceptor.Chain?): okhttp3.Response {
  28.                 var request: Request = chain!!.request().newBuilder().addHeader("Authorization","Bearer "+ token).build()
  29.                 Log.w("REQUEST", Gson().toJson(request.toString()))
  30.                 return chain.proceed(request)
  31.             }
  32.         })
  33.  
  34.         return httpClient.build()
  35.     }
  36.     fun create(vehicle: Vehicle, token: String?): Call<Vehicle> {
  37.         val retrofit = Retrofit.Builder()
  38.             .baseUrl(API_BASE_URL)
  39.             .addConverterFactory(GsonConverterFactory.create()).client(getClient(token))
  40.             .build().create(VehicleBaseService::class.java).post(vehicle)
  41.         return retrofit
  42.     }
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement