|
|
|
@ -36,7 +36,10 @@ suspend fun apiRequest(
|
|
|
|
|
val url = URL(SERVER + uri)
|
|
|
|
|
with(url.openConnection() as HttpURLConnection) {
|
|
|
|
|
requestMethod = method
|
|
|
|
|
headerFields["Content-Type"] = listOf("Application/json")
|
|
|
|
|
doInput = true
|
|
|
|
|
if (method == "POST" || method == "PUT") {
|
|
|
|
|
setRequestProperty("Content-Type", "application/json")
|
|
|
|
|
doOutput = true
|
|
|
|
|
val data = when (body) {
|
|
|
|
|
is String -> {
|
|
|
|
|
body
|
|
|
|
@ -48,15 +51,18 @@ suspend fun apiRequest(
|
|
|
|
|
val wr = OutputStreamWriter(outputStream)
|
|
|
|
|
wr.write(data)
|
|
|
|
|
wr.flush()
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (responseCode >= 400) {
|
|
|
|
|
BufferedReader(InputStreamReader(errorStream)).use {
|
|
|
|
|
val response = it.readText()
|
|
|
|
|
onFail?.invoke(response)
|
|
|
|
|
}
|
|
|
|
|
return@with
|
|
|
|
|
}
|
|
|
|
|
//response
|
|
|
|
|
BufferedReader(InputStreamReader(inputStream)).use {
|
|
|
|
|
val response = it.readText()
|
|
|
|
|
if (responseCode == 200) {
|
|
|
|
|
onOk?.invoke(response)
|
|
|
|
|
} else {
|
|
|
|
|
onFail?.invoke(response)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
eventually?.invoke()
|
|
|
|
|