bitkid
01/21/2020, 10:16 AMe5l
01/21/2020, 10:20 AMbitkid
01/21/2020, 10:20 AMprivate val httpClient = HttpClient(Apache) {
install(Auth) {
basic {
username = "bla"
password = "blubb"
sendWithoutRequest = true
}
}
engine {
customizeClient {
connectTimeout = 0
socketTimeout = 0
}
}
}
e5l
01/21/2020, 10:20 AMbitkid
01/21/2020, 10:21 AMlevel = LogLevel.ALL
my integration tests immediately start to fail, but they work with LogLever.HEADERSe5l
01/21/2020, 10:47 AMbitkid
01/21/2020, 10:55 AMe5l
01/21/2020, 10:59 AMbody
do you try to pass?bitkid
01/21/2020, 11:00 AM2020-01-21 11:58:45.317 [DefaultDispatcher-worker-5 @coroutine#5] INFO io.ktor.client.HttpClient -
---7484af384037e9be-506970d9-67a2ebac-70592eff12f476f731ac94c4-5cf322841
Content-Disposition: form-data; name=file; file; name=scientific1; filename=scientific1.csv
"","counts","calc_data","calc_data_dim"
"ENSG00000000003",1e+05,6.44626,"log2tpm"
"ENSG00000000005",9,0.163499e+02,"log2tpm"
"ENSG00000000419",2931,5.86146,"log2tpm"
---7484af384037e9be-506970d9-67a2ebac-70592eff12f476f731ac94c4-5cf322841--
2020-01-21 11:58:45.317 [DefaultDispatcher-worker-2 @coroutine#6] INFO io.ktor.client.HttpClient - BODY END
e5l
01/21/2020, 11:04 AMbitkid
01/21/2020, 11:05 AMe5l
01/21/2020, 11:07 AMbitkid
01/21/2020, 11:11 AMe5l
01/21/2020, 11:11 AMbitkid
01/21/2020, 11:38 AM2020-01-21 12:37:33.731 [DefaultDispatcher-worker-1] INFO io.ktor.client.HttpClient - REQUEST: <http://url/objectname>
2020-01-21 12:37:33.731 [DefaultDispatcher-worker-1] INFO io.ktor.client.HttpClient - METHOD: HttpMethod(value=POST)
2020-01-21 12:37:33.732 [DefaultDispatcher-worker-1] INFO io.ktor.client.HttpClient - COMMON HEADERS
2020-01-21 12:37:33.732 [DefaultDispatcher-worker-1] INFO io.ktor.client.HttpClient - -> Authorization: Basic YWRtaW46YWRtaW4xMjM=
2020-01-21 12:37:33.732 [DefaultDispatcher-worker-1] INFO io.ktor.client.HttpClient - -> Accept-Charset: UTF-8
2020-01-21 12:37:33.732 [DefaultDispatcher-worker-1] INFO io.ktor.client.HttpClient - -> Accept: */*
2020-01-21 12:37:33.732 [DefaultDispatcher-worker-1] INFO io.ktor.client.HttpClient - CONTENT HEADERS
e5l
01/21/2020, 11:42 AMbitkid
01/21/2020, 11:44 AMfile.inputStream().buffered().use
and then it.asInput() is correct?e5l
01/21/2020, 11:47 AMbitkid
01/21/2020, 11:48 AMe5l
01/21/2020, 11:49 AMbitkid
01/21/2020, 1:32 PM2020-01-21 14:31:32.774 [nioEventLoopGroup-4-3 @call-handler#34] ERROR Application - refCnt: 0, decrement: 1
io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
at io.netty.util.internal.ReferenceCountUpdater.toLiveRealRefCnt(ReferenceCountUpdater.java:74)
at io.netty.util.internal.ReferenceCountUpdater.release(ReferenceCountUpdater.java:138)
at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:100)
at io.netty.handler.codec.http.DefaultFullHttpRequest.release(DefaultFullHttpRequest.java:102)
at io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:88)
at io.ktor.server.netty.NettyApplicationCall.finishComplete(NettyApplicationCall.kt:51)
at io.ktor.server.netty.NettyApplicationCall.finishSuspend(NettyApplicationCall.kt:44)
at io.ktor.server.netty.NettyApplicationCall$finishSuspend$1.invokeSuspend(NettyApplicationCall.kt)
(Coroutine boundary)
at io.ktor.server.netty.NettyApplicationCallHandler$handleRequest$1.invokeSuspend(NettyApplicationCallHandler.kt:40)
Caused by: io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
at io.netty.util.internal.ReferenceCountUpdater.toLiveRealRefCnt(ReferenceCountUpdater.java:74)
at io.netty.util.internal.ReferenceCountUpdater.release(ReferenceCountUpdater.java:138)
at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:100)
at io.netty.handler.codec.http.DefaultFullHttpRequest.release(DefaultFullHttpRequest.java:102)
at io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:88)
at io.ktor.server.netty.NettyApplicationCall.finishComplete(NettyApplicationCall.kt:51)
at io.ktor.server.netty.NettyApplicationCall.finishSuspend(NettyApplicationCall.kt:44)
at io.ktor.server.netty.NettyApplicationCall$finishSuspend$1.invokeSuspend(NettyApplicationCall.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:518)
at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:835)
httpClient.submitFormWithBinaryData<HttpResponse>
HttpResponse is in a different package .. and for the response i can use .use{} instead of .also{} (in 1.3.0) ... inputstream.asInput() seems to also be a different extension function in 1.3.0