mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-24 05:22:33 +01:00
Use expectSuccess on http client requests
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
|
||||
package ca.gosyer.jui.ui.base.image
|
||||
|
||||
import ca.gosyer.jui.core.io.HttpException
|
||||
import ca.gosyer.jui.data.models.Extension
|
||||
import ca.gosyer.jui.data.models.Manga
|
||||
import ca.gosyer.jui.data.models.Source
|
||||
@@ -26,14 +25,13 @@ import io.kamel.core.fetcher.Fetcher
|
||||
import io.kamel.core.mapper.Mapper
|
||||
import io.kamel.image.config.imageBitmapDecoder
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.plugins.expectSuccess
|
||||
import io.ktor.client.plugins.onDownload
|
||||
import io.ktor.client.request.request
|
||||
import io.ktor.client.request.takeFrom
|
||||
import io.ktor.client.request.url
|
||||
import io.ktor.client.statement.bodyAsChannel
|
||||
import io.ktor.client.statement.discardRemaining
|
||||
import io.ktor.http.Url
|
||||
import io.ktor.http.isSuccess
|
||||
import io.ktor.utils.io.ByteReadChannel
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
@@ -105,14 +103,10 @@ class KamelConfigProvider @Inject constructor(
|
||||
}
|
||||
takeFrom(resourceConfig.requestData)
|
||||
url(data)
|
||||
expectSuccess = true
|
||||
}
|
||||
if (response.status.isSuccess()) {
|
||||
val bytes = response.bodyAsChannel()
|
||||
send(Resource.Success(bytes))
|
||||
} else {
|
||||
response.discardRemaining()
|
||||
send(Resource.Failure(HttpException(response.status)))
|
||||
}
|
||||
val bytes = response.bodyAsChannel()
|
||||
send(Resource.Success(bytes))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,9 +8,9 @@ package ca.gosyer.jui.ui.util.compose
|
||||
|
||||
import androidx.compose.ui.graphics.ImageBitmap
|
||||
import androidx.compose.ui.graphics.toComposeImageBitmap
|
||||
import ca.gosyer.jui.core.io.asSuccess
|
||||
import ca.gosyer.jui.data.server.Http
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.plugins.expectSuccess
|
||||
import io.ktor.client.request.HttpRequestBuilder
|
||||
import io.ktor.client.request.get
|
||||
import io.ktor.client.statement.HttpResponse
|
||||
@@ -25,7 +25,10 @@ fun imageFromFile(file: Path): ImageBitmap {
|
||||
}
|
||||
|
||||
suspend fun imageFromUrl(client: Http, url: String, block: HttpRequestBuilder.() -> Unit): ImageBitmap {
|
||||
return client.get(url, block).asSuccess().toImageBitmap()
|
||||
return client.get(url) {
|
||||
expectSuccess = true
|
||||
block()
|
||||
}.toImageBitmap()
|
||||
}
|
||||
|
||||
actual suspend fun HttpResponse.toImageBitmap(): ImageBitmap {
|
||||
|
||||
Reference in New Issue
Block a user