diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/facebook/retro')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt | 20 | ||||
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt | 22 |
2 files changed, 37 insertions, 5 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt index 746bf0df..f82c041c 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt @@ -4,9 +4,9 @@ import android.content.Context import com.facebook.stetho.okhttp3.StethoInterceptor import com.google.gson.GsonBuilder import com.pitchedapps.frost.BuildConfig +import com.pitchedapps.frost.utils.L import io.reactivex.schedulers.Schedulers -import okhttp3.Cache -import okhttp3.OkHttpClient +import okhttp3.* import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory @@ -20,7 +20,7 @@ import java.io.File */ object FrostApi { - internal lateinit var frostApi: IFrost + lateinit var frostApi: IFrost operator fun invoke(context: Context) { val cacheDir = File(context.cacheDir, "responses") @@ -29,6 +29,18 @@ object FrostApi { val client = OkHttpClient.Builder() .addInterceptor(FrostInterceptor(context)) + .cookieJar(object : CookieJar { + override fun saveFromResponse(url: HttpUrl, cookies: List<Cookie>) { + L.e("COOKIES") + L.e(url.toString()) + cookies.forEach { c -> L.e(c.toString()) } + } + + override fun loadForRequest(url: HttpUrl): List<Cookie> { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + }) .cache(cache) @@ -42,7 +54,7 @@ object FrostApi { val gson = GsonBuilder().setLenient() val retrofit = Retrofit.Builder() - .baseUrl("https://graph.facebook.com/") + .baseUrl("https://touch.facebook.com/") .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())) .addConverterFactory(GsonConverterFactory.create(gson.create())) .client(client.build()) diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt index 6c50fa74..b9048fe0 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt @@ -1,7 +1,11 @@ package com.pitchedapps.frost.facebook.retro import com.pitchedapps.frost.facebook.token +import com.pitchedapps.frost.utils.L +import okhttp3.ResponseBody import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response import retrofit2.http.GET import retrofit2.http.Query @@ -11,6 +15,22 @@ import retrofit2.http.Query interface IFrost { @GET("me") - fun me(@Query(ACCESS_TOKEN) accessToken: String? = token): Call<Me> + fun me(): Call<ResponseBody> + +} + +fun <T> Call<T>.enqueueFrost(success: (call: Call<T>, response: Response<T>) -> Unit) { + this.enqueue(object : Callback<T> { + override fun onFailure(call: Call<T>?, t: Throwable?) { + L.e("Frost enqueue error") + } + + override fun onResponse(call: Call<T>, response: Response<T>) { + if (response.isSuccessful && !call.isCanceled) + success.invoke(call, response) + else + L.e("Frost response received but not successful") + } + }) }
\ No newline at end of file |