Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.comtrade.aicapone.Services
- import android.util.Log
- import com.comtrade.aicapone.Vehicle
- import com.google.gson.Gson
- import okhttp3.Interceptor
- import okhttp3.OkHttpClient
- import okhttp3.Request
- import retrofit2.Call
- import retrofit2.Retrofit
- import retrofit2.converter.gson.GsonConverterFactory
- import retrofit2.http.*
- interface VehicleBaseService {
- @POST("Vehicles")
- fun post(@Body body: Vehicle): Call<Vehicle>
- @GET("Vehicles")
- fun get(@Query("typeId") typeId: Int): Call<Array<Vehicle>>
- }
- class VehicleService(val API_BASE_URL: String) {
- fun getClient(token: String?): OkHttpClient {
- var httpClient: OkHttpClient.Builder = OkHttpClient.Builder().addInterceptor(object: okhttp3.Interceptor{
- override fun intercept(chain: Interceptor.Chain?): okhttp3.Response {
- var request: Request = chain!!.request().newBuilder().addHeader("Authorization","Bearer "+ token).build()
- Log.w("REQUEST", Gson().toJson(request.toString()))
- return chain.proceed(request)
- }
- })
- return httpClient.build()
- }
- fun create(vehicle: Vehicle, token: String?): Call<Vehicle> {
- val retrofit = Retrofit.Builder()
- .baseUrl(API_BASE_URL)
- .addConverterFactory(GsonConverterFactory.create()).client(getClient(token))
- .build().create(VehicleBaseService::class.java).post(vehicle)
- return retrofit
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement