SauceNaoAPI/src/jvmTest/kotlin/Launcher.kt

30 lines
824 B
Kotlin
Raw Normal View History

2020-08-22 17:00:07 +00:00
import com.github.insanusmokrassar.SauceNaoAPI.SauceNaoAPI
2019-12-12 18:47:52 +00:00
import io.ktor.http.ContentType
2020-08-13 05:17:11 +00:00
import io.ktor.utils.io.streams.asInput
2019-08-19 08:13:43 +00:00
import kotlinx.coroutines.*
2019-12-12 18:47:52 +00:00
import java.io.File
import java.nio.file.Files
2019-02-20 12:18:01 +00:00
2019-10-12 06:30:02 +00:00
suspend fun main(vararg args: String) {
2019-12-12 18:47:52 +00:00
val (key, requestSubject) = args
2019-02-20 12:18:01 +00:00
2019-12-12 18:47:52 +00:00
val scope = CoroutineScope(Dispatchers.Default)
val api = SauceNaoAPI(key, scope = scope)
api.use { _ ->
2019-10-12 06:30:02 +00:00
println(
2019-12-12 18:47:52 +00:00
when {
requestSubject.startsWith("/") -> File(requestSubject).let {
api.request(
it.inputStream().asInput(),
ContentType.parse(Files.probeContentType(it.toPath()))
)
}
else -> api.request(requestSubject)
}
2019-10-12 06:30:02 +00:00
)
2019-02-20 12:18:01 +00:00
}
2019-12-12 18:47:52 +00:00
scope.cancel()
2019-02-20 12:18:01 +00:00
}