35 lines
842 B
Kotlin
35 lines
842 B
Kotlin
package com.github.gotify.api
|
|
|
|
import retrofit2.Call
|
|
import java.io.IOException
|
|
|
|
internal object Api {
|
|
@Throws(ApiException::class)
|
|
fun execute(call: Call<Void>) {
|
|
try {
|
|
val response = call.execute()
|
|
|
|
if (!response.isSuccessful) {
|
|
throw ApiException(response)
|
|
}
|
|
} catch (e: IOException) {
|
|
throw ApiException(e)
|
|
}
|
|
}
|
|
|
|
@Throws(ApiException::class)
|
|
fun <T> execute(call: Call<T>): T {
|
|
try {
|
|
val response = call.execute()
|
|
|
|
if (response.isSuccessful) {
|
|
return response.body() ?: throw ApiException("null response", response)
|
|
} else {
|
|
throw ApiException(response)
|
|
}
|
|
} catch (e: IOException) {
|
|
throw ApiException(e)
|
|
}
|
|
}
|
|
}
|