aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt
blob: b9048fe07b321a931a99804b872b87491e716253 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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

/**
 * Created by Allan Wang on 2017-05-30.
 */
interface IFrost {

    @GET("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")
        }
    })
}