Skip to content

Instantly share code, notes, and snippets.

@jkbbwr

jkbbwr/main.kt Secret

Created December 10, 2018 05:45
Show Gist options
  • Save jkbbwr/dec766a8715f251ab6e80e85df26e442 to your computer and use it in GitHub Desktop.
Save jkbbwr/dec766a8715f251ab6e80e85df26e442 to your computer and use it in GitHub Desktop.
Exception in thread "main" io.ktor.client.call.ReceivePipelineException: Fail to run receive pipeline
at io.ktor.client.call.HttpClientCall.receive(HttpClientCall.kt:61)
at io.ktor.client.call.HttpClientCall$receive$1.invokeSuspend(HttpClientCall.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(PipelineContext.kt:183)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(PipelineContext.kt:160)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(PipelineContext.kt:63)
at io.ktor.util.pipeline.SuspendFunctionGun.proceed(PipelineContext.kt:111)
at io.ktor.util.pipeline.SuspendFunctionGun.execute(PipelineContext.kt:131)
at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:24)
at io.ktor.client.call.HttpClientCall.receive(HttpClientCall.kt:55)
at io.codehop.friday.MainKt.main(main.kt:56)
at io.codehop.friday.MainKt$main$1.invokeSuspend(main.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(PipelineContext.kt:183)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(PipelineContext.kt:142)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(PipelineContext.kt:63)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(PipelineContext.kt:92)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:45)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(PipelineContext.kt:183)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(PipelineContext.kt:142)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(PipelineContext.kt:63)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(PipelineContext.kt:92)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:45)
at kotlinx.coroutines.DispatchedKt.resumeCancellable(Dispatched.kt:188)
at kotlinx.coroutines.ResumeModeKt.resumeMode(ResumeMode.kt:22)
at kotlinx.coroutines.DispatchedKt.resume(Dispatched.kt:275)
at kotlinx.coroutines.DispatchedKt.dispatch(Dispatched.kt:264)
at kotlinx.coroutines.AbstractContinuation.dispatchResume(AbstractContinuation.kt:182)
at kotlinx.coroutines.AbstractContinuation.completeStateUpdate(AbstractContinuation.kt:250)
at kotlinx.coroutines.AbstractContinuation.updateStateToFinal(AbstractContinuation.kt:222)
at kotlinx.coroutines.AbstractContinuation.resumeImpl(AbstractContinuation.kt:195)
at kotlinx.coroutines.AbstractContinuation.resumeWith(AbstractContinuation.kt:141)
at kotlinx.coroutines.ResumeAwaitOnCompletion.invoke(JobSupport.kt:1240)
at kotlinx.coroutines.JobSupport.completeStateFinalization(JobSupport.kt:287)
at kotlinx.coroutines.JobSupport.tryFinalizeSimpleState(JobSupport.kt:258)
at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:755)
at kotlinx.coroutines.JobSupport.makeCompleting$kotlinx_coroutines_core(JobSupport.kt:715)
at kotlinx.coroutines.CompletableDeferredImpl.complete(CompletableDeferred.kt:70)
at io.ktor.client.engine.cio.Endpoint$makeDedicatedRequest$1.invokeSuspend(Endpoint.kt:143)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:236)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)
Caused by: kotlinx.serialization.SerializationException: Can't locate argument-less serializer for class io.codehop.friday.RTM. For generic classes, such as lists, please provide serializer explicitly.
at kotlinx.serialization.PlatformUtilsKt.serializer(PlatformUtils.kt:28)
at io.ktor.client.features.json.serializer.KotlinxSerializer.lookupSerializerByType(KotlinxSerializer.kt:96)
at io.ktor.client.features.json.serializer.KotlinxSerializer.read(KotlinxSerializer.kt:76)
at io.ktor.client.features.json.JsonFeature$Feature$install$2.invokeSuspend(JsonFeature.kt:64)
at io.ktor.client.features.json.JsonFeature$Feature$install$2.invoke(JsonFeature.kt)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(PipelineContext.kt:248)
... 39 more
@KtorExperimentalAPI
fun client(token: String): HttpClient {
return HttpClient(CIO) {
install(WebSockets)
install(JsonFeature) {
serializer = KotlinxSerializer(JSON.nonstrict)
}
defaultRequest {
header("Authorization", "Bearer $token")
}
}
}
@KtorExperimentalAPI
suspend fun main(args: Array<String>) {
val client = client(TOKEN)
val rtm = client.get<RTM>("URL")
println(rtm)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment