2026-06-19 06:31:18.942 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:19.024 [Test worker] INFO io.ktor.server.Application - Application started in 0.197 seconds. 2026-06-19 06:31:19.105 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43625 2026-06-19 06:31:19.851 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43625/resources/index.json 2026-06-19 06:31:19.852 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43625/resources/index.json. 2026-06-19 06:31:19.852 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43625/resources/index.json 2026-06-19 06:31:19.975 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 06:31:20.017 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 47ms 2026-06-19 06:31:20.021 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43625/resources/index.json 2026-06-19 06:31:20.023 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43625/resources/index.json 2026-06-19 06:31:20.023 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43625/resources/index.json 2026-06-19 06:31:20.045 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:43625/resources/index.json. 2026-06-19 06:31:20.077 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43625/resources/index.json 2026-06-19 06:31:20.078 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43625/resources/index.json. 2026-06-19 06:31:20.078 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43625/resources/index.json 2026-06-19 06:31:20.080 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 06:31:20.082 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-19 06:31:20.085 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43625/resources/index.json 2026-06-19 06:31:20.086 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43625/resources/index.json 2026-06-19 06:31:20.086 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43625/resources/index.json 2026-06-19 06:31:21.096 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@7c3e0453 java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1005) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:388) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:381) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:907) at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:873) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:863) at io.netty.channel.DefaultChannelPipeline.destroyUp(DefaultChannelPipeline.java:816) at io.netty.channel.DefaultChannelPipeline.destroy(DefaultChannelPipeline.java:801) at io.netty.channel.DefaultChannelPipeline.access$700(DefaultChannelPipeline.java:45) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1411) at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:780) at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:692) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:183) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073) 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:1583) 2026-06-19 06:31:22.104 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:22.105 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 06:31:22.107 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41207 2026-06-19 06:31:22.161 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41207/resources/index.json 2026-06-19 06:31:22.161 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41207/resources/index.json. 2026-06-19 06:31:22.161 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41207/resources/index.json 2026-06-19 06:31:22.165 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 06:31:22.166 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-19 06:31:22.167 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41207/resources/index.json 2026-06-19 06:31:22.167 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41207/resources/index.json 2026-06-19 06:31:22.167 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41207/resources/index.json 2026-06-19 06:31:22.168 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:41207/resources/index.json. 2026-06-19 06:31:22.174 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41207/resources/index.json 2026-06-19 06:31:22.174 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41207/resources/index.json. 2026-06-19 06:31:22.174 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41207/resources/index.json 2026-06-19 06:31:22.176 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 06:31:22.176 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 06:31:22.177 [DefaultDispatcher-worker-2 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41207/resources/index.json 2026-06-19 06:31:22.177 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41207/resources/index.json 2026-06-19 06:31:22.177 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41207/resources/index.json 2026-06-19 06:31:24.192 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:24.193 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 06:31:24.195 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36507 2026-06-19 06:31:24.201 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36507/resources/lesson001.json 2026-06-19 06:31:24.202 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36507/resources/lesson001.json. 2026-06-19 06:31:24.202 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36507/resources/lesson001.json 2026-06-19 06:31:24.205 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 06:31:24.207 [DefaultDispatcher-worker-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-19 06:31:24.207 [DefaultDispatcher-worker-1 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36507/resources/lesson001.json 2026-06-19 06:31:24.207 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36507/resources/lesson001.json 2026-06-19 06:31:24.207 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36507/resources/lesson001.json 2026-06-19 06:31:24.210 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:36507/resources/lesson001.json. 2026-06-19 06:31:26.542 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:26.554 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.202 seconds. 2026-06-19 06:31:26.557 [DefaultDispatcher-worker-4 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:32853 2026-06-19 06:31:26.572 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32853/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:26.572 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32853/api/school/respect/schoolpermissiongrant. 2026-06-19 06:31:26.572 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32853/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:26.578 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 06:31:26.607 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32853/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:26.607 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32853/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:26.607 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32853/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:26.610 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:32853/api/school/respect/schoolpermissiongrant. 2026-06-19 06:31:26.739 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.739 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32853/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:26.739 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.742 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:26.769 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.770 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.770 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.771 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:32853/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:26.781 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.781 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32853/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:26.781 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.784 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:26.786 [DefaultDispatcher-worker-1 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 06:31:26.787 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.788 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:26.788 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32853/api/school/respect/person?includeRelated=false 2026-06-19 06:31:28.936 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:28.937 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.057 seconds. 2026-06-19 06:31:28.939 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35531 2026-06-19 06:31:28.940 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35531/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:28.940 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35531/api/school/respect/schoolpermissiongrant. 2026-06-19 06:31:28.940 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35531/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:28.944 [eventLoopGroupProxy-16-1 @call-handler#107] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 06:31:28.947 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35531/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:28.948 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35531/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:28.948 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35531/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:28.948 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35531/api/school/respect/schoolpermissiongrant. 2026-06-19 06:31:29.009 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35531/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 06:31:29.009 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35531/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 06:31:29.009 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35531/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 06:31:29.011 [eventLoopGroupProxy-16-1 @call-handler#117] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:29.014 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35531/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 06:31:29.014 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35531/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 06:31:29.014 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35531/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 06:31:29.015 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35531/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 06:31:31.157 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:31.158 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-19 06:31:31.160 [DefaultDispatcher-worker-4 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35659 2026-06-19 06:31:31.164 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35659/api/school/respect/person?includeRelated=false 2026-06-19 06:31:31.164 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35659/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:31.164 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35659/api/school/respect/person?includeRelated=false 2026-06-19 06:31:31.168 [eventLoopGroupProxy-19-1 @call-handler#136] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:31.173 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35659/api/school/respect/person?includeRelated=false 2026-06-19 06:31:31.173 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35659/api/school/respect/person?includeRelated=false 2026-06-19 06:31:31.173 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35659/api/school/respect/person?includeRelated=false 2026-06-19 06:31:31.174 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35659/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:31.240 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35659/api/school/respect/person?since=2026-06-19T02%3A31%3A31.168703046Z&includeRelated=false 2026-06-19 06:31:31.241 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35659/api/school/respect/person?since=2026-06-19T02%3A31%3A31.168703046Z&includeRelated=false. 2026-06-19 06:31:31.241 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35659/api/school/respect/person?since=2026-06-19T02%3A31%3A31.168703046Z&includeRelated=false 2026-06-19 06:31:31.244 [eventLoopGroupProxy-19-1 @call-handler#142] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:31.248 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35659/api/school/respect/person?since=2026-06-19T02%3A31%3A31.168703046Z&includeRelated=false 2026-06-19 06:31:31.248 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35659/api/school/respect/person?since=2026-06-19T02%3A31%3A31.168703046Z&includeRelated=false 2026-06-19 06:31:31.248 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35659/api/school/respect/person?since=2026-06-19T02%3A31%3A31.168703046Z&includeRelated=false 2026-06-19 06:31:31.249 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35659/api/school/respect/person?since=2026-06-19T02%3A31%3A31.168703046Z&includeRelated=false. 2026-06-19 06:31:32.262 [eventLoopGroupProxy-18-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@679485df java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1005) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:388) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:381) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:907) at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:873) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:863) at io.netty.channel.DefaultChannelPipeline.destroyUp(DefaultChannelPipeline.java:816) at io.netty.channel.DefaultChannelPipeline.destroy(DefaultChannelPipeline.java:801) at io.netty.channel.DefaultChannelPipeline.access$700(DefaultChannelPipeline.java:45) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1411) at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:780) at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:692) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:183) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073) 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:1583) 2026-06-19 06:31:33.407 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:33.411 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.057 seconds. 2026-06-19 06:31:33.415 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45869 2026-06-19 06:31:33.485 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45869/api/school/respect/person 2026-06-19 06:31:33.486 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@33bd98c4 for http://localhost:45869/api/school/respect/person 2026-06-19 06:31:33.486 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45869/api/school/respect/person 2026-06-19 06:31:33.486 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45869/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 06:31:33.497 [eventLoopGroupProxy-22-1 @call-handler#164] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-19 06:31:33.513 [eventLoopGroupProxy-22-1 @call-handler#164] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-19 06:31:33.537 [DefaultDispatcher-worker-1 @call-handler#164] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 06:31:33.549 [DefaultDispatcher-worker-9 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45869/api/school/respect/person 2026-06-19 06:31:33.549 [DefaultDispatcher-worker-9 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45869/api/school/respect/person 2026-06-19 06:31:33.549 [DefaultDispatcher-worker-9 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45869/api/school/respect/person 2026-06-19 06:31:35.690 [Test worker @coroutine#169] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:35.691 [Test worker @coroutine#169] INFO io.ktor.server.Application - Application started in 0.052 seconds. 2026-06-19 06:31:35.694 [DefaultDispatcher-worker-9 @coroutine#178] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44635 2026-06-19 06:31:35.697 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44635/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:35.697 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44635/api/school/respect/schoolpermissiongrant. 2026-06-19 06:31:35.697 [Test worker @coroutine#169] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44635/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:35.701 [eventLoopGroupProxy-25-1 @call-handler#182] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 06:31:35.704 [Test worker @coroutine#169] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44635/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:35.704 [Test worker @coroutine#169] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44635/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:35.704 [Test worker @coroutine#169] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44635/api/school/respect/schoolpermissiongrant 2026-06-19 06:31:35.705 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44635/api/school/respect/schoolpermissiongrant. 2026-06-19 06:31:35.753 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:35.753 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44635/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:35.753 [Test worker @coroutine#169] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:35.756 [eventLoopGroupProxy-25-1 @call-handler#188] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:35.764 [Test worker @coroutine#169] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:35.764 [Test worker @coroutine#169] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:35.764 [Test worker @coroutine#169] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:35.765 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44635/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:37.771 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:37.771 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44635/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:37.771 [Test worker @coroutine#169] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:37.773 [eventLoopGroupProxy-25-1 @call-handler#195] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:37.777 [Test worker @coroutine#169] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:37.777 [Test worker @coroutine#169] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:37.777 [Test worker @coroutine#169] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44635/api/school/respect/person?includeRelated=false 2026-06-19 06:31:37.778 [Test worker @coroutine#169] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44635/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:39.930 [Test worker @coroutine#201] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:39.931 [Test worker @coroutine#201] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-19 06:31:39.937 [DefaultDispatcher-worker-2 @coroutine#210] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42345 2026-06-19 06:31:39.940 [Test worker @coroutine#201] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42345/api/school/respect/person?includeRelated=false 2026-06-19 06:31:39.941 [Test worker @coroutine#201] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:42345/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:39.941 [Test worker @coroutine#201] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42345/api/school/respect/person?includeRelated=false 2026-06-19 06:31:39.944 [eventLoopGroupProxy-28-1 @call-handler#215] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:39.949 [Test worker @coroutine#201] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42345/api/school/respect/person?includeRelated=false 2026-06-19 06:31:39.950 [Test worker @coroutine#201] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42345/api/school/respect/person?includeRelated=false 2026-06-19 06:31:39.950 [Test worker @coroutine#201] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42345/api/school/respect/person?includeRelated=false 2026-06-19 06:31:39.951 [Test worker @coroutine#201] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42345/api/school/respect/person?includeRelated=false. 2026-06-19 06:31:40.015 [Test worker @coroutine#201] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42345/api/school/respect/person?since=2026-06-19T02%3A31%3A39.945000605Z&includeRelated=false 2026-06-19 06:31:40.015 [Test worker @coroutine#201] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:42345/api/school/respect/person?since=2026-06-19T02%3A31%3A39.945000605Z&includeRelated=false. 2026-06-19 06:31:40.015 [Test worker @coroutine#201] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42345/api/school/respect/person?since=2026-06-19T02%3A31%3A39.945000605Z&includeRelated=false 2026-06-19 06:31:40.017 [eventLoopGroupProxy-28-1 @call-handler#222] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 06:31:40.021 [Test worker @coroutine#201] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42345/api/school/respect/person?since=2026-06-19T02%3A31%3A39.945000605Z&includeRelated=false 2026-06-19 06:31:40.021 [Test worker @coroutine#201] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42345/api/school/respect/person?since=2026-06-19T02%3A31%3A39.945000605Z&includeRelated=false 2026-06-19 06:31:40.021 [Test worker @coroutine#201] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42345/api/school/respect/person?since=2026-06-19T02%3A31%3A39.945000605Z&includeRelated=false 2026-06-19 06:31:40.023 [Test worker @coroutine#201] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42345/api/school/respect/person?since=2026-06-19T02%3A31%3A39.945000605Z&includeRelated=false. 2026-06-19 06:31:42.197 [Test worker @coroutine#228] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:42.199 [Test worker @coroutine#228] INFO io.ktor.server.Application - Application started in 0.068 seconds. 2026-06-19 06:31:42.201 [DefaultDispatcher-worker-1 @coroutine#238] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34409 2026-06-19 06:31:42.203 [Test worker @coroutine#228] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34409/playlist/91dc2285-5eb5-4711-92af-1c67096efa3e 2026-06-19 06:31:42.204 [Test worker @coroutine#228] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34409/playlist/91dc2285-5eb5-4711-92af-1c67096efa3e. 2026-06-19 06:31:42.204 [Test worker @coroutine#228] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34409/playlist/91dc2285-5eb5-4711-92af-1c67096efa3e 2026-06-19 06:31:42.207 [eventLoopGroupProxy-31-1 @call-handler#242] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 91dc2285-5eb5-4711-92af-1c67096efa3e] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[91dc2285-5eb5-4711-92af-1c67096efa3e]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [uuid=[91dc2285-5eb5-4711-92af-1c67096efa3e]] @ /playlist/{uuid}/(method:GET) 2026-06-19 06:31:42.216 [Test worker @coroutine#228] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34409/playlist/91dc2285-5eb5-4711-92af-1c67096efa3e 2026-06-19 06:31:42.217 [Test worker @coroutine#228] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34409/playlist/91dc2285-5eb5-4711-92af-1c67096efa3e 2026-06-19 06:31:42.217 [Test worker @coroutine#228] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34409/playlist/91dc2285-5eb5-4711-92af-1c67096efa3e 2026-06-19 06:31:42.217 [Test worker @coroutine#228] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:34409/playlist/91dc2285-5eb5-4711-92af-1c67096efa3e. 2026-06-19 06:31:44.429 [Test worker @coroutine#246] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:44.430 [Test worker @coroutine#246] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-19 06:31:44.431 [DefaultDispatcher-worker-1 @coroutine#255] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45055 2026-06-19 06:31:44.484 [DefaultDispatcher-worker-1 @coroutine#253] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45055/playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 2026-06-19 06:31:44.485 [DefaultDispatcher-worker-1 @coroutine#253] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@7009ec70 for http://localhost:45055/playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 2026-06-19 06:31:44.485 [DefaultDispatcher-worker-1 @coroutine#253] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45055/playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 2026-06-19 06:31:44.485 [DefaultDispatcher-worker-1 @coroutine#253] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45055/playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 from class io.ktor.http.content.TextContent 2026-06-19 06:31:44.493 [eventLoopGroupProxy-34-1 @call-handler#263] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 2ea52d6f-a78d-493f-b9c4-43ec0fd38c81] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[2ea52d6f-a78d-493f-b9c4-43ec0fd38c81]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:POST)" Routing resolve result: SUCCESS; Parameters [uuid=[2ea52d6f-a78d-493f-b9c4-43ec0fd38c81]] @ /playlist/{uuid}/(method:POST) 2026-06-19 06:31:44.493 [eventLoopGroupProxy-34-1 @call-handler#263] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 2026-06-19 06:31:44.495 [DefaultDispatcher-worker-1 @call-handler#263] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 06:31:44.497 [DefaultDispatcher-worker-3 @coroutine#253] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45055/playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 2026-06-19 06:31:44.497 [DefaultDispatcher-worker-4 @coroutine#253] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45055/playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 2026-06-19 06:31:44.497 [DefaultDispatcher-worker-4 @coroutine#253] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45055/playlist/2ea52d6f-a78d-493f-b9c4-43ec0fd38c81 2026-06-19 06:31:46.763 [Test worker @coroutine#268] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:46.764 [Test worker @coroutine#268] INFO io.ktor.server.Application - Application started in 0.117 seconds. 2026-06-19 06:31:46.765 [DefaultDispatcher-worker-5 @coroutine#277] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34941 2026-06-19 06:31:46.876 [DefaultDispatcher-worker-4 @coroutine#275] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34941/api/school/xapi/statements 2026-06-19 06:31:46.877 [DefaultDispatcher-worker-4 @coroutine#275] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@7015f6c3 for http://localhost:34941/api/school/xapi/statements 2026-06-19 06:31:46.877 [DefaultDispatcher-worker-4 @coroutine#275] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34941/api/school/xapi/statements 2026-06-19 06:31:46.877 [DefaultDispatcher-worker-4 @coroutine#275] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34941/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 06:31:46.879 [eventLoopGroupProxy-37-1 @call-handler#287] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-19 06:31:46.880 [eventLoopGroupProxy-37-1 @call-handler#287] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-19 06:31:46.891 [DefaultDispatcher-worker-5 @coroutine#275] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34941/api/school/xapi/statements 2026-06-19 06:31:46.891 [DefaultDispatcher-worker-5 @coroutine#275] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34941/api/school/xapi/statements 2026-06-19 06:31:46.891 [DefaultDispatcher-worker-5 @coroutine#275] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34941/api/school/xapi/statements 2026-06-19 06:31:46.892 [DefaultDispatcher-worker-5 @coroutine#275] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34941/api/school/xapi/statements. 2026-06-19 06:31:49.001 [Test worker @coroutine#293] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 06:31:49.002 [Test worker @coroutine#293] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-19 06:31:49.003 [DefaultDispatcher-worker-4 @coroutine#302] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43495 2026-06-19 06:31:49.049 [Test worker @coroutine#293] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43495/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 06:31:49.049 [Test worker @coroutine#293] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43495/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 06:31:49.049 [Test worker @coroutine#293] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43495/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 06:31:49.052 [eventLoopGroupProxy-40-1 @call-handler#310] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-19 06:31:49.057 [Test worker @coroutine#293] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43495/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 06:31:49.057 [Test worker @coroutine#293] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43495/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 06:31:49.057 [Test worker @coroutine#293] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43495/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 06:31:49.058 [Test worker @coroutine#293] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:43495/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 09:34:48.025 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:34:48.112 [Test worker] INFO io.ktor.server.Application - Application started in 0.216 seconds. 2026-06-19 09:34:48.185 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33357 2026-06-19 09:34:48.855 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33357/resources/index.json 2026-06-19 09:34:48.856 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33357/resources/index.json. 2026-06-19 09:34:48.856 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33357/resources/index.json 2026-06-19 09:34:48.971 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 09:34:49.023 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33357/resources/index.json 2026-06-19 09:34:49.025 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33357/resources/index.json 2026-06-19 09:34:49.025 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33357/resources/index.json 2026-06-19 09:34:49.027 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 60ms 2026-06-19 09:34:49.043 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:33357/resources/index.json. 2026-06-19 09:34:49.069 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33357/resources/index.json 2026-06-19 09:34:49.069 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33357/resources/index.json. 2026-06-19 09:34:49.069 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33357/resources/index.json 2026-06-19 09:34:49.071 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 09:34:49.072 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 09:34:49.073 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33357/resources/index.json 2026-06-19 09:34:49.073 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33357/resources/index.json 2026-06-19 09:34:49.073 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33357/resources/index.json 2026-06-19 09:34:51.087 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:34:51.088 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 09:34:51.089 [DefaultDispatcher-worker-3 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36167 2026-06-19 09:34:51.161 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36167/resources/index.json 2026-06-19 09:34:51.161 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36167/resources/index.json. 2026-06-19 09:34:51.161 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36167/resources/index.json 2026-06-19 09:34:51.164 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 09:34:51.165 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-19 09:34:51.165 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36167/resources/index.json 2026-06-19 09:34:51.165 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36167/resources/index.json 2026-06-19 09:34:51.165 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36167/resources/index.json 2026-06-19 09:34:51.166 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:36167/resources/index.json. 2026-06-19 09:34:51.170 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36167/resources/index.json 2026-06-19 09:34:51.170 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36167/resources/index.json. 2026-06-19 09:34:51.170 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36167/resources/index.json 2026-06-19 09:34:51.171 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 09:34:51.172 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 09:34:51.172 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36167/resources/index.json 2026-06-19 09:34:51.172 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36167/resources/index.json 2026-06-19 09:34:51.172 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36167/resources/index.json 2026-06-19 09:34:53.182 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:34:53.182 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-19 09:34:53.183 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34103 2026-06-19 09:34:53.188 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34103/resources/lesson001.json 2026-06-19 09:34:53.188 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34103/resources/lesson001.json. 2026-06-19 09:34:53.188 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34103/resources/lesson001.json 2026-06-19 09:34:53.192 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 09:34:53.193 [DefaultDispatcher-worker-2 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-19 09:34:53.193 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34103/resources/lesson001.json 2026-06-19 09:34:53.194 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34103/resources/lesson001.json 2026-06-19 09:34:53.194 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34103/resources/lesson001.json 2026-06-19 09:34:53.196 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:34103/resources/lesson001.json. 2026-06-19 09:34:55.447 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:34:55.454 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.101 seconds. 2026-06-19 09:34:55.456 [DefaultDispatcher-worker-3 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45107 2026-06-19 09:34:55.465 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45107/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:55.465 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45107/api/school/respect/schoolpermissiongrant. 2026-06-19 09:34:55.465 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45107/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:55.469 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 09:34:55.481 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45107/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:55.482 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45107/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:55.482 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45107/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:55.483 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45107/api/school/respect/schoolpermissiongrant. 2026-06-19 09:34:55.546 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.547 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45107/api/school/respect/person?includeRelated=false. 2026-06-19 09:34:55.547 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.549 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:34:55.566 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.566 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.566 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.567 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45107/api/school/respect/person?includeRelated=false. 2026-06-19 09:34:55.572 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.573 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45107/api/school/respect/person?includeRelated=false. 2026-06-19 09:34:55.573 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.574 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:34:55.577 [DefaultDispatcher-worker-3 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 09:34:55.577 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.577 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:55.577 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45107/api/school/respect/person?includeRelated=false 2026-06-19 09:34:57.689 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:34:57.690 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 09:34:57.691 [DefaultDispatcher-worker-3 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46579 2026-06-19 09:34:57.692 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46579/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:57.693 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46579/api/school/respect/schoolpermissiongrant. 2026-06-19 09:34:57.693 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46579/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:57.695 [eventLoopGroupProxy-16-1 @call-handler#107] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 09:34:57.697 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46579/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:57.697 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46579/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:57.697 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46579/api/school/respect/schoolpermissiongrant 2026-06-19 09:34:57.698 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46579/api/school/respect/schoolpermissiongrant. 2026-06-19 09:34:57.745 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46579/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:34:57.745 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46579/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 09:34:57.745 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46579/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:34:57.746 [eventLoopGroupProxy-16-1 @call-handler#117] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:34:57.749 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46579/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:34:57.749 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46579/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:34:57.749 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46579/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:34:57.750 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46579/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 09:35:00.020 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:00.021 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.153 seconds. 2026-06-19 09:35:00.022 [DefaultDispatcher-worker-3 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34423 2026-06-19 09:35:00.025 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34423/api/school/respect/person?includeRelated=false 2026-06-19 09:35:00.025 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34423/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:00.025 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34423/api/school/respect/person?includeRelated=false 2026-06-19 09:35:00.027 [eventLoopGroupProxy-19-1 @call-handler#136] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:35:00.031 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34423/api/school/respect/person?includeRelated=false 2026-06-19 09:35:00.031 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34423/api/school/respect/person?includeRelated=false 2026-06-19 09:35:00.031 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34423/api/school/respect/person?includeRelated=false 2026-06-19 09:35:00.032 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34423/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:00.152 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34423/api/school/respect/person?since=2026-06-19T05%3A35%3A00.028207462Z&includeRelated=false 2026-06-19 09:35:00.152 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34423/api/school/respect/person?since=2026-06-19T05%3A35%3A00.028207462Z&includeRelated=false. 2026-06-19 09:35:00.152 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34423/api/school/respect/person?since=2026-06-19T05%3A35%3A00.028207462Z&includeRelated=false 2026-06-19 09:35:00.153 [eventLoopGroupProxy-19-1 @call-handler#142] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:35:00.156 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34423/api/school/respect/person?since=2026-06-19T05%3A35%3A00.028207462Z&includeRelated=false 2026-06-19 09:35:00.156 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34423/api/school/respect/person?since=2026-06-19T05%3A35%3A00.028207462Z&includeRelated=false 2026-06-19 09:35:00.156 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34423/api/school/respect/person?since=2026-06-19T05%3A35%3A00.028207462Z&includeRelated=false 2026-06-19 09:35:00.157 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34423/api/school/respect/person?since=2026-06-19T05%3A35%3A00.028207462Z&includeRelated=false. 2026-06-19 09:35:02.271 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:02.271 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 09:35:02.272 [DefaultDispatcher-worker-4 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40859 2026-06-19 09:35:02.319 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40859/api/school/respect/person 2026-06-19 09:35:02.319 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@15493e5b for http://localhost:40859/api/school/respect/person 2026-06-19 09:35:02.319 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40859/api/school/respect/person 2026-06-19 09:35:02.320 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:40859/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 09:35:02.323 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-19 09:35:02.328 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-19 09:35:02.330 [DefaultDispatcher-worker-5 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 09:35:02.331 [DefaultDispatcher-worker-11 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40859/api/school/respect/person 2026-06-19 09:35:02.331 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40859/api/school/respect/person 2026-06-19 09:35:02.331 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40859/api/school/respect/person 2026-06-19 09:35:04.435 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:04.436 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 09:35:04.437 [DefaultDispatcher-worker-16 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46503 2026-06-19 09:35:04.438 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46503/api/school/respect/schoolpermissiongrant 2026-06-19 09:35:04.438 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46503/api/school/respect/schoolpermissiongrant. 2026-06-19 09:35:04.438 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46503/api/school/respect/schoolpermissiongrant 2026-06-19 09:35:04.441 [eventLoopGroupProxy-25-1 @call-handler#185] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 09:35:04.443 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46503/api/school/respect/schoolpermissiongrant 2026-06-19 09:35:04.443 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46503/api/school/respect/schoolpermissiongrant 2026-06-19 09:35:04.443 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46503/api/school/respect/schoolpermissiongrant 2026-06-19 09:35:04.443 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46503/api/school/respect/schoolpermissiongrant. 2026-06-19 09:35:04.493 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:04.493 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46503/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:04.493 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:04.494 [eventLoopGroupProxy-25-1 @call-handler#191] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:35:04.500 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:04.500 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:04.500 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:04.501 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46503/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:06.505 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:06.506 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46503/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:06.506 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:06.507 [eventLoopGroupProxy-25-1 @call-handler#198] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:35:06.510 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:06.510 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:06.510 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46503/api/school/respect/person?includeRelated=false 2026-06-19 09:35:06.511 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46503/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:08.624 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:08.624 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 09:35:08.625 [DefaultDispatcher-worker-6 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37613 2026-06-19 09:35:08.628 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37613/api/school/respect/person?includeRelated=false 2026-06-19 09:35:08.628 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37613/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:08.628 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37613/api/school/respect/person?includeRelated=false 2026-06-19 09:35:08.630 [eventLoopGroupProxy-28-1 @call-handler#218] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:35:08.634 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37613/api/school/respect/person?includeRelated=false 2026-06-19 09:35:08.634 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37613/api/school/respect/person?includeRelated=false 2026-06-19 09:35:08.634 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37613/api/school/respect/person?includeRelated=false 2026-06-19 09:35:08.634 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37613/api/school/respect/person?includeRelated=false. 2026-06-19 09:35:08.686 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37613/api/school/respect/person?since=2026-06-19T05%3A35%3A08.630868966Z&includeRelated=false 2026-06-19 09:35:08.686 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37613/api/school/respect/person?since=2026-06-19T05%3A35%3A08.630868966Z&includeRelated=false. 2026-06-19 09:35:08.686 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37613/api/school/respect/person?since=2026-06-19T05%3A35%3A08.630868966Z&includeRelated=false 2026-06-19 09:35:08.687 [eventLoopGroupProxy-28-1 @call-handler#225] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 09:35:08.689 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37613/api/school/respect/person?since=2026-06-19T05%3A35%3A08.630868966Z&includeRelated=false 2026-06-19 09:35:08.689 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37613/api/school/respect/person?since=2026-06-19T05%3A35%3A08.630868966Z&includeRelated=false 2026-06-19 09:35:08.689 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37613/api/school/respect/person?since=2026-06-19T05%3A35%3A08.630868966Z&includeRelated=false 2026-06-19 09:35:08.690 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37613/api/school/respect/person?since=2026-06-19T05%3A35%3A08.630868966Z&includeRelated=false. 2026-06-19 09:35:10.818 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:10.820 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-19 09:35:10.821 [DefaultDispatcher-worker-13 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39881 2026-06-19 09:35:10.822 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39881/playlist/0d1008b8-b982-47f4-821e-43530384818c 2026-06-19 09:35:10.822 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39881/playlist/0d1008b8-b982-47f4-821e-43530384818c. 2026-06-19 09:35:10.822 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39881/playlist/0d1008b8-b982-47f4-821e-43530384818c 2026-06-19 09:35:10.825 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 0d1008b8-b982-47f4-821e-43530384818c] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[0d1008b8-b982-47f4-821e-43530384818c]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [uuid=[0d1008b8-b982-47f4-821e-43530384818c]] @ /playlist/{uuid}/(method:GET) 2026-06-19 09:35:10.830 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39881/playlist/0d1008b8-b982-47f4-821e-43530384818c 2026-06-19 09:35:10.831 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39881/playlist/0d1008b8-b982-47f4-821e-43530384818c 2026-06-19 09:35:10.831 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39881/playlist/0d1008b8-b982-47f4-821e-43530384818c 2026-06-19 09:35:10.831 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:39881/playlist/0d1008b8-b982-47f4-821e-43530384818c. 2026-06-19 09:35:13.021 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:13.022 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 09:35:13.023 [DefaultDispatcher-worker-13 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36085 2026-06-19 09:35:13.065 [DefaultDispatcher-worker-13 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36085/playlist/c766593c-479c-479e-b184-f1a996be7cfb 2026-06-19 09:35:13.065 [DefaultDispatcher-worker-13 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@3305eae4 for http://localhost:36085/playlist/c766593c-479c-479e-b184-f1a996be7cfb 2026-06-19 09:35:13.066 [DefaultDispatcher-worker-13 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36085/playlist/c766593c-479c-479e-b184-f1a996be7cfb 2026-06-19 09:35:13.066 [DefaultDispatcher-worker-13 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36085/playlist/c766593c-479c-479e-b184-f1a996be7cfb from class io.ktor.http.content.TextContent 2026-06-19 09:35:13.068 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, c766593c-479c-479e-b184-f1a996be7cfb] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[c766593c-479c-479e-b184-f1a996be7cfb]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:POST)" Routing resolve result: SUCCESS; Parameters [uuid=[c766593c-479c-479e-b184-f1a996be7cfb]] @ /playlist/{uuid}/(method:POST) 2026-06-19 09:35:13.068 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/c766593c-479c-479e-b184-f1a996be7cfb 2026-06-19 09:35:13.069 [DefaultDispatcher-worker-6 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/c766593c-479c-479e-b184-f1a996be7cfb request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 09:35:13.070 [DefaultDispatcher-worker-7 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36085/playlist/c766593c-479c-479e-b184-f1a996be7cfb 2026-06-19 09:35:13.070 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36085/playlist/c766593c-479c-479e-b184-f1a996be7cfb 2026-06-19 09:35:13.070 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36085/playlist/c766593c-479c-479e-b184-f1a996be7cfb 2026-06-19 09:35:15.170 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:15.172 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-19 09:35:15.173 [DefaultDispatcher-worker-6 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33031 2026-06-19 09:35:15.254 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33031/api/school/xapi/statements 2026-06-19 09:35:15.256 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6796672e for http://localhost:33031/api/school/xapi/statements 2026-06-19 09:35:15.256 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33031/api/school/xapi/statements 2026-06-19 09:35:15.256 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33031/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 09:35:15.259 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-19 09:35:15.259 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-19 09:35:15.270 [DefaultDispatcher-worker-16 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33031/api/school/xapi/statements 2026-06-19 09:35:15.270 [DefaultDispatcher-worker-16 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33031/api/school/xapi/statements 2026-06-19 09:35:15.270 [DefaultDispatcher-worker-16 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33031/api/school/xapi/statements 2026-06-19 09:35:15.270 [DefaultDispatcher-worker-16 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33031/api/school/xapi/statements. 2026-06-19 09:35:17.382 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:35:17.383 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 09:35:17.384 [DefaultDispatcher-worker-16 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33259 2026-06-19 09:35:17.440 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33259/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 09:35:17.440 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33259/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 09:35:17.440 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33259/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 09:35:17.443 [eventLoopGroupProxy-40-1 @call-handler#313] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-19 09:35:17.446 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33259/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 09:35:17.447 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33259/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 09:35:17.447 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33259/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 09:35:17.447 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:33259/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 14:23:03.212 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:03.353 [Test worker] INFO io.ktor.server.Application - Application started in 0.296 seconds. 2026-06-19 14:23:03.456 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36787 2026-06-19 14:23:04.368 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36787/resources/index.json 2026-06-19 14:23:04.368 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36787/resources/index.json. 2026-06-19 14:23:04.368 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36787/resources/index.json 2026-06-19 14:23:04.531 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:23:04.586 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 61ms 2026-06-19 14:23:04.592 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36787/resources/index.json 2026-06-19 14:23:04.594 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36787/resources/index.json 2026-06-19 14:23:04.594 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36787/resources/index.json 2026-06-19 14:23:04.622 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:36787/resources/index.json. 2026-06-19 14:23:04.682 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36787/resources/index.json 2026-06-19 14:23:04.682 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36787/resources/index.json. 2026-06-19 14:23:04.682 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36787/resources/index.json 2026-06-19 14:23:04.686 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:23:04.688 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-19 14:23:04.690 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36787/resources/index.json 2026-06-19 14:23:04.691 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36787/resources/index.json 2026-06-19 14:23:04.691 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36787/resources/index.json 2026-06-19 14:23:05.703 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@74997c82 java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1005) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:388) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:381) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:907) at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:873) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:863) at io.netty.channel.DefaultChannelPipeline.destroyUp(DefaultChannelPipeline.java:816) at io.netty.channel.DefaultChannelPipeline.destroy(DefaultChannelPipeline.java:801) at io.netty.channel.DefaultChannelPipeline.access$700(DefaultChannelPipeline.java:45) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1411) at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:780) at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:692) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:183) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073) 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:1583) 2026-06-19 14:23:06.715 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:06.716 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 14:23:06.718 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38343 2026-06-19 14:23:06.811 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38343/resources/index.json 2026-06-19 14:23:06.811 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38343/resources/index.json. 2026-06-19 14:23:06.811 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38343/resources/index.json 2026-06-19 14:23:06.815 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:23:06.817 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-19 14:23:06.818 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38343/resources/index.json 2026-06-19 14:23:06.818 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38343/resources/index.json 2026-06-19 14:23:06.818 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38343/resources/index.json 2026-06-19 14:23:06.819 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:38343/resources/index.json. 2026-06-19 14:23:06.824 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38343/resources/index.json 2026-06-19 14:23:06.824 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38343/resources/index.json. 2026-06-19 14:23:06.824 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38343/resources/index.json 2026-06-19 14:23:06.826 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:23:06.827 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 14:23:06.828 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38343/resources/index.json 2026-06-19 14:23:06.828 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38343/resources/index.json 2026-06-19 14:23:06.828 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38343/resources/index.json 2026-06-19 14:23:08.841 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:08.842 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 14:23:08.845 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45513 2026-06-19 14:23:08.853 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45513/resources/lesson001.json 2026-06-19 14:23:08.854 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45513/resources/lesson001.json. 2026-06-19 14:23:08.854 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45513/resources/lesson001.json 2026-06-19 14:23:08.858 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:23:08.860 [DefaultDispatcher-worker-3 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-19 14:23:08.861 [DefaultDispatcher-worker-8 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45513/resources/lesson001.json 2026-06-19 14:23:08.861 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45513/resources/lesson001.json 2026-06-19 14:23:08.861 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45513/resources/lesson001.json 2026-06-19 14:23:08.865 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:45513/resources/lesson001.json. 2026-06-19 14:23:11.290 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:11.300 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.205 seconds. 2026-06-19 14:23:11.304 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37239 2026-06-19 14:23:11.317 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37239/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:11.317 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37239/api/school/respect/schoolpermissiongrant. 2026-06-19 14:23:11.317 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37239/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:11.328 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 14:23:11.350 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37239/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:11.350 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37239/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:11.350 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37239/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:11.354 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37239/api/school/respect/schoolpermissiongrant. 2026-06-19 14:23:11.464 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.465 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37239/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:11.465 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.470 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:11.500 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.500 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.500 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.502 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37239/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:11.512 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.513 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37239/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:11.513 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.515 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:11.519 [DefaultDispatcher-worker-4 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:23:11.520 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.520 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:11.520 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37239/api/school/respect/person?includeRelated=false 2026-06-19 14:23:13.668 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:13.671 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.061 seconds. 2026-06-19 14:23:13.676 [DefaultDispatcher-worker-4 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35429 2026-06-19 14:23:13.680 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35429/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:13.680 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35429/api/school/respect/schoolpermissiongrant. 2026-06-19 14:23:13.680 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35429/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:13.687 [eventLoopGroupProxy-16-1 @call-handler#107] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 14:23:13.693 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35429/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:13.694 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35429/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:13.694 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35429/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:13.694 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35429/api/school/respect/schoolpermissiongrant. 2026-06-19 14:23:13.764 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35429/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:23:13.764 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35429/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:23:13.764 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35429/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:23:13.767 [eventLoopGroupProxy-16-1 @call-handler#117] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:13.779 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35429/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:23:13.782 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35429/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:23:13.783 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35429/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:23:13.786 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35429/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:23:15.933 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:15.933 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-19 14:23:15.935 [DefaultDispatcher-worker-5 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35755 2026-06-19 14:23:15.938 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35755/api/school/respect/person?includeRelated=false 2026-06-19 14:23:15.938 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35755/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:15.938 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35755/api/school/respect/person?includeRelated=false 2026-06-19 14:23:15.941 [eventLoopGroupProxy-19-1 @call-handler#136] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:15.946 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35755/api/school/respect/person?includeRelated=false 2026-06-19 14:23:15.946 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35755/api/school/respect/person?includeRelated=false 2026-06-19 14:23:15.946 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35755/api/school/respect/person?includeRelated=false 2026-06-19 14:23:15.947 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35755/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:16.002 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35755/api/school/respect/person?since=2026-06-19T10%3A23%3A15.941899259Z&includeRelated=false 2026-06-19 14:23:16.002 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35755/api/school/respect/person?since=2026-06-19T10%3A23%3A15.941899259Z&includeRelated=false. 2026-06-19 14:23:16.002 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35755/api/school/respect/person?since=2026-06-19T10%3A23%3A15.941899259Z&includeRelated=false 2026-06-19 14:23:16.004 [eventLoopGroupProxy-19-1 @call-handler#142] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:16.008 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35755/api/school/respect/person?since=2026-06-19T10%3A23%3A15.941899259Z&includeRelated=false 2026-06-19 14:23:16.008 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35755/api/school/respect/person?since=2026-06-19T10%3A23%3A15.941899259Z&includeRelated=false 2026-06-19 14:23:16.008 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35755/api/school/respect/person?since=2026-06-19T10%3A23%3A15.941899259Z&includeRelated=false 2026-06-19 14:23:16.009 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35755/api/school/respect/person?since=2026-06-19T10%3A23%3A15.941899259Z&includeRelated=false. 2026-06-19 14:23:18.201 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:18.202 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-19 14:23:18.204 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38569 2026-06-19 14:23:18.293 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38569/api/school/respect/person 2026-06-19 14:23:18.294 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2e527122 for http://localhost:38569/api/school/respect/person 2026-06-19 14:23:18.294 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38569/api/school/respect/person 2026-06-19 14:23:18.294 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38569/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 14:23:18.319 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-19 14:23:18.333 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-19 14:23:18.337 [DefaultDispatcher-worker-5 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:23:18.338 [DefaultDispatcher-worker-3 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38569/api/school/respect/person 2026-06-19 14:23:18.339 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38569/api/school/respect/person 2026-06-19 14:23:18.339 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38569/api/school/respect/person 2026-06-19 14:23:20.526 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:20.527 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.055 seconds. 2026-06-19 14:23:20.534 [DefaultDispatcher-worker-1 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45601 2026-06-19 14:23:20.536 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45601/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:20.536 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45601/api/school/respect/schoolpermissiongrant. 2026-06-19 14:23:20.536 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45601/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:20.552 [eventLoopGroupProxy-25-1 @call-handler#185] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 14:23:20.556 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45601/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:20.556 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45601/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:20.556 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45601/api/school/respect/schoolpermissiongrant 2026-06-19 14:23:20.556 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45601/api/school/respect/schoolpermissiongrant. 2026-06-19 14:23:20.600 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:20.600 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45601/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:20.600 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:20.602 [eventLoopGroupProxy-25-1 @call-handler#191] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:20.608 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:20.609 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:20.609 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:20.610 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45601/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:22.615 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:22.615 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45601/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:22.615 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:22.616 [eventLoopGroupProxy-25-1 @call-handler#198] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:22.619 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:22.619 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:22.619 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45601/api/school/respect/person?includeRelated=false 2026-06-19 14:23:22.620 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45601/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:24.793 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:24.794 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-19 14:23:24.795 [DefaultDispatcher-worker-7 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35169 2026-06-19 14:23:24.797 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35169/api/school/respect/person?includeRelated=false 2026-06-19 14:23:24.797 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35169/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:24.797 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35169/api/school/respect/person?includeRelated=false 2026-06-19 14:23:24.799 [eventLoopGroupProxy-28-1 @call-handler#218] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:24.803 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35169/api/school/respect/person?includeRelated=false 2026-06-19 14:23:24.803 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35169/api/school/respect/person?includeRelated=false 2026-06-19 14:23:24.803 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35169/api/school/respect/person?includeRelated=false 2026-06-19 14:23:24.803 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35169/api/school/respect/person?includeRelated=false. 2026-06-19 14:23:24.862 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35169/api/school/respect/person?since=2026-06-19T10%3A23%3A24.800114189Z&includeRelated=false 2026-06-19 14:23:24.862 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35169/api/school/respect/person?since=2026-06-19T10%3A23%3A24.800114189Z&includeRelated=false. 2026-06-19 14:23:24.862 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35169/api/school/respect/person?since=2026-06-19T10%3A23%3A24.800114189Z&includeRelated=false 2026-06-19 14:23:24.863 [eventLoopGroupProxy-28-1 @call-handler#225] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:23:24.866 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35169/api/school/respect/person?since=2026-06-19T10%3A23%3A24.800114189Z&includeRelated=false 2026-06-19 14:23:24.866 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35169/api/school/respect/person?since=2026-06-19T10%3A23%3A24.800114189Z&includeRelated=false 2026-06-19 14:23:24.866 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35169/api/school/respect/person?since=2026-06-19T10%3A23%3A24.800114189Z&includeRelated=false 2026-06-19 14:23:24.867 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35169/api/school/respect/person?since=2026-06-19T10%3A23%3A24.800114189Z&includeRelated=false. 2026-06-19 14:23:26.970 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:26.971 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.044 seconds. 2026-06-19 14:23:26.972 [DefaultDispatcher-worker-5 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45169 2026-06-19 14:23:26.974 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45169/playlist/5b883997-0635-43c3-b3aa-f7334cdf3195 2026-06-19 14:23:26.974 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45169/playlist/5b883997-0635-43c3-b3aa-f7334cdf3195. 2026-06-19 14:23:26.974 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45169/playlist/5b883997-0635-43c3-b3aa-f7334cdf3195 2026-06-19 14:23:26.977 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 5b883997-0635-43c3-b3aa-f7334cdf3195] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[5b883997-0635-43c3-b3aa-f7334cdf3195]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [uuid=[5b883997-0635-43c3-b3aa-f7334cdf3195]] @ /playlist/{uuid}/(method:GET) 2026-06-19 14:23:26.982 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45169/playlist/5b883997-0635-43c3-b3aa-f7334cdf3195 2026-06-19 14:23:26.983 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45169/playlist/5b883997-0635-43c3-b3aa-f7334cdf3195 2026-06-19 14:23:26.983 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45169/playlist/5b883997-0635-43c3-b3aa-f7334cdf3195 2026-06-19 14:23:26.983 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:45169/playlist/5b883997-0635-43c3-b3aa-f7334cdf3195. 2026-06-19 14:23:29.152 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:29.153 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-19 14:23:29.154 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46373 2026-06-19 14:23:29.218 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46373/playlist/51528d3b-14de-468e-ab7c-985534811f85 2026-06-19 14:23:29.227 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@b927312 for http://localhost:46373/playlist/51528d3b-14de-468e-ab7c-985534811f85 2026-06-19 14:23:29.228 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46373/playlist/51528d3b-14de-468e-ab7c-985534811f85 2026-06-19 14:23:29.228 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46373/playlist/51528d3b-14de-468e-ab7c-985534811f85 from class io.ktor.http.content.TextContent 2026-06-19 14:23:29.257 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 51528d3b-14de-468e-ab7c-985534811f85] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[51528d3b-14de-468e-ab7c-985534811f85]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:POST)" Routing resolve result: SUCCESS; Parameters [uuid=[51528d3b-14de-468e-ab7c-985534811f85]] @ /playlist/{uuid}/(method:POST) 2026-06-19 14:23:29.258 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/51528d3b-14de-468e-ab7c-985534811f85 2026-06-19 14:23:29.262 [DefaultDispatcher-worker-8 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/51528d3b-14de-468e-ab7c-985534811f85 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:23:29.268 [DefaultDispatcher-worker-11 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46373/playlist/51528d3b-14de-468e-ab7c-985534811f85 2026-06-19 14:23:29.273 [DefaultDispatcher-worker-11 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46373/playlist/51528d3b-14de-468e-ab7c-985534811f85 2026-06-19 14:23:29.273 [DefaultDispatcher-worker-11 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46373/playlist/51528d3b-14de-468e-ab7c-985534811f85 2026-06-19 14:23:31.602 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:31.605 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.156 seconds. 2026-06-19 14:23:31.625 [DefaultDispatcher-worker-10 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33063 2026-06-19 14:23:31.841 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33063/api/school/xapi/statements 2026-06-19 14:23:31.843 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@683a9e90 for http://localhost:33063/api/school/xapi/statements 2026-06-19 14:23:31.843 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33063/api/school/xapi/statements 2026-06-19 14:23:31.843 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33063/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 14:23:31.847 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-19 14:23:31.847 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-19 14:23:31.875 [DefaultDispatcher-worker-6 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33063/api/school/xapi/statements 2026-06-19 14:23:31.883 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33063/api/school/xapi/statements 2026-06-19 14:23:31.883 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33063/api/school/xapi/statements 2026-06-19 14:23:31.884 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33063/api/school/xapi/statements. 2026-06-19 14:23:34.014 [Test worker @coroutine#295] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:23:34.014 [Test worker @coroutine#295] INFO io.ktor.server.Application - Application started in 0.044 seconds. 2026-06-19 14:23:34.015 [DefaultDispatcher-worker-3 @coroutine#304] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42267 2026-06-19 14:23:34.071 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42267/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:23:34.071 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:42267/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 14:23:34.071 [Test worker @coroutine#295] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42267/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:23:34.073 [eventLoopGroupProxy-40-1 @call-handler#312] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-19 14:23:34.078 [Test worker @coroutine#295] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42267/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:23:34.079 [Test worker @coroutine#295] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42267/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:23:34.079 [Test worker @coroutine#295] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42267/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:23:34.079 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:42267/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 14:51:27.662 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:27.785 [Test worker] INFO io.ktor.server.Application - Application started in 0.249 seconds. 2026-06-19 14:51:27.885 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36457 2026-06-19 14:51:28.785 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36457/resources/index.json 2026-06-19 14:51:28.786 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36457/resources/index.json. 2026-06-19 14:51:28.786 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36457/resources/index.json 2026-06-19 14:51:28.893 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:51:28.937 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 49ms 2026-06-19 14:51:28.941 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36457/resources/index.json 2026-06-19 14:51:28.943 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36457/resources/index.json 2026-06-19 14:51:28.943 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36457/resources/index.json 2026-06-19 14:51:28.962 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:36457/resources/index.json. 2026-06-19 14:51:28.993 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36457/resources/index.json 2026-06-19 14:51:28.993 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36457/resources/index.json. 2026-06-19 14:51:28.993 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36457/resources/index.json 2026-06-19 14:51:28.995 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:51:28.997 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-19 14:51:28.997 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36457/resources/index.json 2026-06-19 14:51:28.998 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36457/resources/index.json 2026-06-19 14:51:28.998 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36457/resources/index.json 2026-06-19 14:51:31.017 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:31.018 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 14:51:31.020 [DefaultDispatcher-worker-3 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34687 2026-06-19 14:51:31.090 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34687/resources/index.json 2026-06-19 14:51:31.090 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34687/resources/index.json. 2026-06-19 14:51:31.090 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34687/resources/index.json 2026-06-19 14:51:31.094 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:51:31.096 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-19 14:51:31.097 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34687/resources/index.json 2026-06-19 14:51:31.097 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34687/resources/index.json 2026-06-19 14:51:31.097 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34687/resources/index.json 2026-06-19 14:51:31.098 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:34687/resources/index.json. 2026-06-19 14:51:31.104 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34687/resources/index.json 2026-06-19 14:51:31.104 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34687/resources/index.json. 2026-06-19 14:51:31.104 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34687/resources/index.json 2026-06-19 14:51:31.106 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:51:31.106 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 14:51:31.107 [DefaultDispatcher-worker-5 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34687/resources/index.json 2026-06-19 14:51:31.107 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34687/resources/index.json 2026-06-19 14:51:31.107 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34687/resources/index.json 2026-06-19 14:51:33.114 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:33.114 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-19 14:51:33.115 [DefaultDispatcher-worker-5 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43423 2026-06-19 14:51:33.122 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43423/resources/lesson001.json 2026-06-19 14:51:33.122 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43423/resources/lesson001.json. 2026-06-19 14:51:33.122 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43423/resources/lesson001.json 2026-06-19 14:51:33.125 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 14:51:33.126 [DefaultDispatcher-worker-3 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-19 14:51:33.127 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43423/resources/lesson001.json 2026-06-19 14:51:33.127 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43423/resources/lesson001.json 2026-06-19 14:51:33.128 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43423/resources/lesson001.json 2026-06-19 14:51:33.131 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:43423/resources/lesson001.json. 2026-06-19 14:51:35.387 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:35.395 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.113 seconds. 2026-06-19 14:51:35.398 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46451 2026-06-19 14:51:35.405 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46451/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:35.405 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46451/api/school/respect/schoolpermissiongrant. 2026-06-19 14:51:35.405 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46451/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:35.410 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 14:51:35.422 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46451/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:35.422 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46451/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:35.422 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46451/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:35.424 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46451/api/school/respect/schoolpermissiongrant. 2026-06-19 14:51:35.503 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.503 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46451/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:35.503 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.505 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:35.526 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.526 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.526 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.527 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46451/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:35.534 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.534 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46451/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:35.534 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.536 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:35.538 [DefaultDispatcher-worker-5 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:51:35.539 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.539 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:35.539 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46451/api/school/respect/person?includeRelated=false 2026-06-19 14:51:37.679 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:37.680 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-19 14:51:37.681 [DefaultDispatcher-worker-3 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45383 2026-06-19 14:51:37.682 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45383/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:37.682 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45383/api/school/respect/schoolpermissiongrant. 2026-06-19 14:51:37.682 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45383/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:37.686 [eventLoopGroupProxy-16-1 @call-handler#107] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 14:51:37.689 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45383/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:37.689 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45383/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:37.689 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45383/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:37.690 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45383/api/school/respect/schoolpermissiongrant. 2026-06-19 14:51:37.762 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45383/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:51:37.762 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45383/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:51:37.762 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45383/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:51:37.766 [eventLoopGroupProxy-16-1 @call-handler#117] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:37.771 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45383/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:51:37.771 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45383/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:51:37.771 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45383/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:51:37.773 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45383/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:51:39.901 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:39.902 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-19 14:51:39.903 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41677 2026-06-19 14:51:39.907 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41677/api/school/respect/person?includeRelated=false 2026-06-19 14:51:39.907 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41677/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:39.907 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41677/api/school/respect/person?includeRelated=false 2026-06-19 14:51:39.910 [eventLoopGroupProxy-19-1 @call-handler#136] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:39.915 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41677/api/school/respect/person?includeRelated=false 2026-06-19 14:51:39.915 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41677/api/school/respect/person?includeRelated=false 2026-06-19 14:51:39.915 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41677/api/school/respect/person?includeRelated=false 2026-06-19 14:51:39.917 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41677/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:39.972 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41677/api/school/respect/person?since=2026-06-19T10%3A51%3A39.911122018Z&includeRelated=false 2026-06-19 14:51:39.972 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41677/api/school/respect/person?since=2026-06-19T10%3A51%3A39.911122018Z&includeRelated=false. 2026-06-19 14:51:39.972 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41677/api/school/respect/person?since=2026-06-19T10%3A51%3A39.911122018Z&includeRelated=false 2026-06-19 14:51:39.974 [eventLoopGroupProxy-19-1 @call-handler#142] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:39.978 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41677/api/school/respect/person?since=2026-06-19T10%3A51%3A39.911122018Z&includeRelated=false 2026-06-19 14:51:39.978 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41677/api/school/respect/person?since=2026-06-19T10%3A51%3A39.911122018Z&includeRelated=false 2026-06-19 14:51:39.978 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41677/api/school/respect/person?since=2026-06-19T10%3A51%3A39.911122018Z&includeRelated=false 2026-06-19 14:51:39.979 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41677/api/school/respect/person?since=2026-06-19T10%3A51%3A39.911122018Z&includeRelated=false. 2026-06-19 14:51:42.185 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:42.186 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.086 seconds. 2026-06-19 14:51:42.188 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35665 2026-06-19 14:51:42.272 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35665/api/school/respect/person 2026-06-19 14:51:42.272 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2f535cd3 for http://localhost:35665/api/school/respect/person 2026-06-19 14:51:42.273 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35665/api/school/respect/person 2026-06-19 14:51:42.273 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35665/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 14:51:42.277 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-19 14:51:42.286 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-19 14:51:42.289 [DefaultDispatcher-worker-1 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:51:42.290 [DefaultDispatcher-worker-2 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35665/api/school/respect/person 2026-06-19 14:51:42.291 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35665/api/school/respect/person 2026-06-19 14:51:42.291 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35665/api/school/respect/person 2026-06-19 14:51:44.465 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:44.466 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.05 seconds. 2026-06-19 14:51:44.473 [DefaultDispatcher-worker-2 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:32845 2026-06-19 14:51:44.477 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32845/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:44.478 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32845/api/school/respect/schoolpermissiongrant. 2026-06-19 14:51:44.478 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32845/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:44.491 [eventLoopGroupProxy-25-1 @call-handler#185] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 14:51:44.499 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32845/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:44.499 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32845/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:44.499 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32845/api/school/respect/schoolpermissiongrant 2026-06-19 14:51:44.500 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:32845/api/school/respect/schoolpermissiongrant. 2026-06-19 14:51:44.556 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:44.556 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32845/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:44.556 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:44.565 [eventLoopGroupProxy-25-1 @call-handler#191] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:44.595 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:44.596 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:44.596 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:44.597 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:32845/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:46.632 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:46.632 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32845/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:46.632 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:46.643 [eventLoopGroupProxy-25-1 @call-handler#198] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:46.658 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:46.662 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:46.665 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32845/api/school/respect/person?includeRelated=false 2026-06-19 14:51:46.667 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:32845/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:48.858 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:48.858 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.044 seconds. 2026-06-19 14:51:48.860 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33359 2026-06-19 14:51:48.863 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33359/api/school/respect/person?includeRelated=false 2026-06-19 14:51:48.863 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33359/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:48.863 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33359/api/school/respect/person?includeRelated=false 2026-06-19 14:51:48.865 [eventLoopGroupProxy-28-1 @call-handler#218] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:48.869 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33359/api/school/respect/person?includeRelated=false 2026-06-19 14:51:48.870 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33359/api/school/respect/person?includeRelated=false 2026-06-19 14:51:48.870 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33359/api/school/respect/person?includeRelated=false 2026-06-19 14:51:48.871 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33359/api/school/respect/person?includeRelated=false. 2026-06-19 14:51:48.949 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33359/api/school/respect/person?since=2026-06-19T10%3A51%3A48.866275745Z&includeRelated=false 2026-06-19 14:51:48.950 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33359/api/school/respect/person?since=2026-06-19T10%3A51%3A48.866275745Z&includeRelated=false. 2026-06-19 14:51:48.950 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33359/api/school/respect/person?since=2026-06-19T10%3A51%3A48.866275745Z&includeRelated=false 2026-06-19 14:51:48.953 [eventLoopGroupProxy-28-1 @call-handler#225] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 14:51:48.963 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33359/api/school/respect/person?since=2026-06-19T10%3A51%3A48.866275745Z&includeRelated=false 2026-06-19 14:51:48.964 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33359/api/school/respect/person?since=2026-06-19T10%3A51%3A48.866275745Z&includeRelated=false 2026-06-19 14:51:48.964 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33359/api/school/respect/person?since=2026-06-19T10%3A51%3A48.866275745Z&includeRelated=false 2026-06-19 14:51:48.965 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33359/api/school/respect/person?since=2026-06-19T10%3A51%3A48.866275745Z&includeRelated=false. 2026-06-19 14:51:51.114 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:51.116 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-19 14:51:51.118 [DefaultDispatcher-worker-1 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35001 2026-06-19 14:51:51.124 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35001/playlist/334fa78f-06eb-4bd7-8f14-a1fec0384216 2026-06-19 14:51:51.125 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35001/playlist/334fa78f-06eb-4bd7-8f14-a1fec0384216. 2026-06-19 14:51:51.125 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35001/playlist/334fa78f-06eb-4bd7-8f14-a1fec0384216 2026-06-19 14:51:51.132 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 334fa78f-06eb-4bd7-8f14-a1fec0384216] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[334fa78f-06eb-4bd7-8f14-a1fec0384216]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [uuid=[334fa78f-06eb-4bd7-8f14-a1fec0384216]] @ /playlist/{uuid}/(method:GET) 2026-06-19 14:51:51.141 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35001/playlist/334fa78f-06eb-4bd7-8f14-a1fec0384216 2026-06-19 14:51:51.141 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35001/playlist/334fa78f-06eb-4bd7-8f14-a1fec0384216 2026-06-19 14:51:51.141 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35001/playlist/334fa78f-06eb-4bd7-8f14-a1fec0384216 2026-06-19 14:51:51.142 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:35001/playlist/334fa78f-06eb-4bd7-8f14-a1fec0384216. 2026-06-19 14:51:53.412 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:53.416 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.102 seconds. 2026-06-19 14:51:53.417 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38399 2026-06-19 14:51:53.527 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38399/playlist/8f586682-40e2-426f-a2cc-07443830014f 2026-06-19 14:51:53.528 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2302d512 for http://localhost:38399/playlist/8f586682-40e2-426f-a2cc-07443830014f 2026-06-19 14:51:53.528 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38399/playlist/8f586682-40e2-426f-a2cc-07443830014f 2026-06-19 14:51:53.528 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38399/playlist/8f586682-40e2-426f-a2cc-07443830014f from class io.ktor.http.content.TextContent 2026-06-19 14:51:53.532 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 8f586682-40e2-426f-a2cc-07443830014f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[8f586682-40e2-426f-a2cc-07443830014f]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:POST)" Routing resolve result: SUCCESS; Parameters [uuid=[8f586682-40e2-426f-a2cc-07443830014f]] @ /playlist/{uuid}/(method:POST) 2026-06-19 14:51:53.533 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/8f586682-40e2-426f-a2cc-07443830014f 2026-06-19 14:51:53.534 [DefaultDispatcher-worker-3 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/8f586682-40e2-426f-a2cc-07443830014f request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:51:53.535 [DefaultDispatcher-worker-5 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38399/playlist/8f586682-40e2-426f-a2cc-07443830014f 2026-06-19 14:51:53.535 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38399/playlist/8f586682-40e2-426f-a2cc-07443830014f 2026-06-19 14:51:53.535 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38399/playlist/8f586682-40e2-426f-a2cc-07443830014f 2026-06-19 14:51:55.678 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:55.680 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-19 14:51:55.681 [DefaultDispatcher-worker-4 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40001 2026-06-19 14:51:55.800 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40001/api/school/xapi/statements 2026-06-19 14:51:55.806 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@4c8afdb6 for http://localhost:40001/api/school/xapi/statements 2026-06-19 14:51:55.806 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40001/api/school/xapi/statements 2026-06-19 14:51:55.806 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:40001/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 14:51:55.813 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-19 14:51:55.814 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-19 14:51:55.838 [DefaultDispatcher-worker-2 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40001/api/school/xapi/statements 2026-06-19 14:51:55.839 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40001/api/school/xapi/statements 2026-06-19 14:51:55.839 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40001/api/school/xapi/statements 2026-06-19 14:51:55.840 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40001/api/school/xapi/statements. 2026-06-19 14:51:57.970 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:51:57.971 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.062 seconds. 2026-06-19 14:51:57.973 [DefaultDispatcher-worker-3 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33901 2026-06-19 14:51:58.034 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33901/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:51:58.034 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33901/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 14:51:58.034 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33901/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:51:58.041 [eventLoopGroupProxy-40-1 @call-handler#313] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-19 14:51:58.064 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33901/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:51:58.064 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33901/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:51:58.064 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33901/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 14:51:58.069 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:33901/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 15:09:39.060 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:39.160 [Test worker] INFO io.ktor.server.Application - Application started in 0.236 seconds. 2026-06-19 15:09:39.247 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43815 2026-06-19 15:09:40.107 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43815/resources/index.json 2026-06-19 15:09:40.107 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43815/resources/index.json. 2026-06-19 15:09:40.107 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43815/resources/index.json 2026-06-19 15:09:40.301 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:09:40.374 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 78ms 2026-06-19 15:09:40.381 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43815/resources/index.json 2026-06-19 15:09:40.383 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43815/resources/index.json 2026-06-19 15:09:40.383 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43815/resources/index.json 2026-06-19 15:09:40.413 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:43815/resources/index.json. 2026-06-19 15:09:40.451 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43815/resources/index.json 2026-06-19 15:09:40.451 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43815/resources/index.json. 2026-06-19 15:09:40.451 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43815/resources/index.json 2026-06-19 15:09:40.454 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:09:40.456 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-19 15:09:40.456 [DefaultDispatcher-worker-4 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43815/resources/index.json 2026-06-19 15:09:40.457 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43815/resources/index.json 2026-06-19 15:09:40.457 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43815/resources/index.json 2026-06-19 15:09:42.474 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:42.474 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-19 15:09:42.476 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42905 2026-06-19 15:09:42.556 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42905/resources/index.json 2026-06-19 15:09:42.556 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:42905/resources/index.json. 2026-06-19 15:09:42.556 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42905/resources/index.json 2026-06-19 15:09:42.560 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:09:42.562 [DefaultDispatcher-worker-4 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-19 15:09:42.566 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42905/resources/index.json 2026-06-19 15:09:42.567 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42905/resources/index.json 2026-06-19 15:09:42.567 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42905/resources/index.json 2026-06-19 15:09:42.568 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:42905/resources/index.json. 2026-06-19 15:09:42.577 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42905/resources/index.json 2026-06-19 15:09:42.577 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:42905/resources/index.json. 2026-06-19 15:09:42.577 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42905/resources/index.json 2026-06-19 15:09:42.579 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:09:42.580 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 15:09:42.580 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42905/resources/index.json 2026-06-19 15:09:42.581 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42905/resources/index.json 2026-06-19 15:09:42.581 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42905/resources/index.json 2026-06-19 15:09:44.590 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:44.590 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-19 15:09:44.592 [DefaultDispatcher-worker-6 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41659 2026-06-19 15:09:44.599 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41659/resources/lesson001.json 2026-06-19 15:09:44.599 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41659/resources/lesson001.json. 2026-06-19 15:09:44.599 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41659/resources/lesson001.json 2026-06-19 15:09:44.602 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:09:44.604 [DefaultDispatcher-worker-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-19 15:09:44.604 [DefaultDispatcher-worker-7 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41659/resources/lesson001.json 2026-06-19 15:09:44.605 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41659/resources/lesson001.json 2026-06-19 15:09:44.605 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41659/resources/lesson001.json 2026-06-19 15:09:44.608 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:41659/resources/lesson001.json. 2026-06-19 15:09:47.054 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:47.064 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.16 seconds. 2026-06-19 15:09:47.067 [DefaultDispatcher-worker-3 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37789 2026-06-19 15:09:47.081 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37789/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:47.081 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37789/api/school/respect/schoolpermissiongrant. 2026-06-19 15:09:47.081 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37789/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:47.095 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 15:09:47.134 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37789/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:47.136 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37789/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:47.136 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37789/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:47.141 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37789/api/school/respect/schoolpermissiongrant. 2026-06-19 15:09:47.273 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.273 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37789/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:47.273 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.276 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:09:47.327 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.328 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.329 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.333 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37789/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:47.343 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.344 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37789/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:47.344 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.348 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:09:47.352 [DefaultDispatcher-worker-1 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:09:47.353 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.354 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:47.354 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37789/api/school/respect/person?includeRelated=false 2026-06-19 15:09:49.516 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:49.517 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.05 seconds. 2026-06-19 15:09:49.519 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39219 2026-06-19 15:09:49.521 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39219/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:49.521 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39219/api/school/respect/schoolpermissiongrant. 2026-06-19 15:09:49.521 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39219/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:49.525 [eventLoopGroupProxy-16-1 @call-handler#107] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 15:09:49.528 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39219/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:49.528 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39219/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:49.528 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39219/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:49.528 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39219/api/school/respect/schoolpermissiongrant. 2026-06-19 15:09:49.599 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39219/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:09:49.600 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39219/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:09:49.600 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39219/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:09:49.605 [eventLoopGroupProxy-16-1 @call-handler#117] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:09:49.612 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39219/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:09:49.614 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39219/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:09:49.615 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39219/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:09:49.617 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39219/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:09:51.837 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:51.840 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.068 seconds. 2026-06-19 15:09:51.849 [DefaultDispatcher-worker-1 @coroutine#130] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41443 2026-06-19 15:09:51.861 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41443/api/school/respect/person?includeRelated=false 2026-06-19 15:09:51.861 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41443/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:51.861 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41443/api/school/respect/person?includeRelated=false 2026-06-19 15:09:51.872 [eventLoopGroupProxy-19-1 @call-handler#135] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:09:51.892 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41443/api/school/respect/person?includeRelated=false 2026-06-19 15:09:51.893 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41443/api/school/respect/person?includeRelated=false 2026-06-19 15:09:51.893 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41443/api/school/respect/person?includeRelated=false 2026-06-19 15:09:51.894 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41443/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:52.002 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41443/api/school/respect/person?since=2026-06-19T11%3A09%3A51.872734553Z&includeRelated=false 2026-06-19 15:09:52.005 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41443/api/school/respect/person?since=2026-06-19T11%3A09%3A51.872734553Z&includeRelated=false. 2026-06-19 15:09:52.005 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41443/api/school/respect/person?since=2026-06-19T11%3A09%3A51.872734553Z&includeRelated=false 2026-06-19 15:09:52.011 [eventLoopGroupProxy-19-1 @call-handler#141] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:09:52.019 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41443/api/school/respect/person?since=2026-06-19T11%3A09%3A51.872734553Z&includeRelated=false 2026-06-19 15:09:52.020 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41443/api/school/respect/person?since=2026-06-19T11%3A09%3A51.872734553Z&includeRelated=false 2026-06-19 15:09:52.020 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41443/api/school/respect/person?since=2026-06-19T11%3A09%3A51.872734553Z&includeRelated=false 2026-06-19 15:09:52.021 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41443/api/school/respect/person?since=2026-06-19T11%3A09%3A51.872734553Z&includeRelated=false. 2026-06-19 15:09:54.261 [Test worker @coroutine#147] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:54.262 [Test worker @coroutine#147] INFO io.ktor.server.Application - Application started in 0.062 seconds. 2026-06-19 15:09:54.264 [DefaultDispatcher-worker-8 @coroutine#156] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43769 2026-06-19 15:09:54.326 [DefaultDispatcher-worker-7 @coroutine#154] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43769/api/school/respect/person 2026-06-19 15:09:54.327 [DefaultDispatcher-worker-7 @coroutine#154] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@365b622e for http://localhost:43769/api/school/respect/person 2026-06-19 15:09:54.327 [DefaultDispatcher-worker-7 @coroutine#154] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43769/api/school/respect/person 2026-06-19 15:09:54.327 [DefaultDispatcher-worker-7 @coroutine#154] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:43769/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 15:09:54.338 [eventLoopGroupProxy-22-1 @call-handler#165] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-19 15:09:54.373 [eventLoopGroupProxy-22-1 @call-handler#165] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-19 15:09:54.384 [DefaultDispatcher-worker-3 @call-handler#165] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:09:54.388 [DefaultDispatcher-worker-4 @coroutine#154] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43769/api/school/respect/person 2026-06-19 15:09:54.388 [DefaultDispatcher-worker-4 @coroutine#154] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43769/api/school/respect/person 2026-06-19 15:09:54.388 [DefaultDispatcher-worker-4 @coroutine#154] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43769/api/school/respect/person 2026-06-19 15:09:56.604 [Test worker @coroutine#170] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:09:56.607 [Test worker @coroutine#170] INFO io.ktor.server.Application - Application started in 0.05 seconds. 2026-06-19 15:09:56.614 [DefaultDispatcher-worker-3 @coroutine#179] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36283 2026-06-19 15:09:56.616 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36283/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:56.616 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36283/api/school/respect/schoolpermissiongrant. 2026-06-19 15:09:56.616 [Test worker @coroutine#170] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36283/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:56.629 [eventLoopGroupProxy-25-1 @call-handler#183] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 15:09:56.636 [Test worker @coroutine#170] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36283/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:56.637 [Test worker @coroutine#170] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36283/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:56.637 [Test worker @coroutine#170] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36283/api/school/respect/schoolpermissiongrant 2026-06-19 15:09:56.638 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36283/api/school/respect/schoolpermissiongrant. 2026-06-19 15:09:56.712 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:56.712 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36283/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:56.712 [Test worker @coroutine#170] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:56.715 [eventLoopGroupProxy-25-1 @call-handler#189] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:09:56.722 [Test worker @coroutine#170] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:56.722 [Test worker @coroutine#170] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:56.722 [Test worker @coroutine#170] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:56.724 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36283/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:58.738 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:58.738 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36283/api/school/respect/person?includeRelated=false. 2026-06-19 15:09:58.738 [Test worker @coroutine#170] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:58.740 [eventLoopGroupProxy-25-1 @call-handler#196] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:09:58.743 [Test worker @coroutine#170] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:58.744 [Test worker @coroutine#170] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:58.744 [Test worker @coroutine#170] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36283/api/school/respect/person?includeRelated=false 2026-06-19 15:09:58.744 [Test worker @coroutine#170] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36283/api/school/respect/person?includeRelated=false. 2026-06-19 15:10:00.867 [Test worker @coroutine#202] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:10:00.867 [Test worker @coroutine#202] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 15:10:00.868 [DefaultDispatcher-worker-6 @coroutine#211] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39009 2026-06-19 15:10:00.871 [Test worker @coroutine#202] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39009/api/school/respect/person?includeRelated=false 2026-06-19 15:10:00.871 [Test worker @coroutine#202] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39009/api/school/respect/person?includeRelated=false. 2026-06-19 15:10:00.871 [Test worker @coroutine#202] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39009/api/school/respect/person?includeRelated=false 2026-06-19 15:10:00.878 [eventLoopGroupProxy-28-1 @call-handler#216] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:10:00.882 [Test worker @coroutine#202] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39009/api/school/respect/person?includeRelated=false 2026-06-19 15:10:00.882 [Test worker @coroutine#202] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39009/api/school/respect/person?includeRelated=false 2026-06-19 15:10:00.882 [Test worker @coroutine#202] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39009/api/school/respect/person?includeRelated=false 2026-06-19 15:10:00.883 [Test worker @coroutine#202] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39009/api/school/respect/person?includeRelated=false. 2026-06-19 15:10:00.932 [Test worker @coroutine#202] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39009/api/school/respect/person?since=2026-06-19T11%3A10%3A00.878686970Z&includeRelated=false 2026-06-19 15:10:00.932 [Test worker @coroutine#202] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39009/api/school/respect/person?since=2026-06-19T11%3A10%3A00.878686970Z&includeRelated=false. 2026-06-19 15:10:00.932 [Test worker @coroutine#202] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39009/api/school/respect/person?since=2026-06-19T11%3A10%3A00.878686970Z&includeRelated=false 2026-06-19 15:10:00.934 [eventLoopGroupProxy-28-1 @call-handler#223] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:10:00.936 [Test worker @coroutine#202] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39009/api/school/respect/person?since=2026-06-19T11%3A10%3A00.878686970Z&includeRelated=false 2026-06-19 15:10:00.937 [Test worker @coroutine#202] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39009/api/school/respect/person?since=2026-06-19T11%3A10%3A00.878686970Z&includeRelated=false 2026-06-19 15:10:00.937 [Test worker @coroutine#202] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39009/api/school/respect/person?since=2026-06-19T11%3A10%3A00.878686970Z&includeRelated=false 2026-06-19 15:10:00.937 [Test worker @coroutine#202] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39009/api/school/respect/person?since=2026-06-19T11%3A10%3A00.878686970Z&includeRelated=false. 2026-06-19 15:10:03.121 [Test worker @coroutine#229] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:10:03.122 [Test worker @coroutine#229] INFO io.ktor.server.Application - Application started in 0.066 seconds. 2026-06-19 15:10:03.123 [DefaultDispatcher-worker-4 @coroutine#239] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40809 2026-06-19 15:10:03.125 [Test worker @coroutine#229] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40809/playlist/5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6 2026-06-19 15:10:03.125 [Test worker @coroutine#229] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40809/playlist/5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6. 2026-06-19 15:10:03.125 [Test worker @coroutine#229] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40809/playlist/5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6 2026-06-19 15:10:03.128 [eventLoopGroupProxy-31-1 @call-handler#243] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [uuid=[5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6]] @ /playlist/{uuid}/(method:GET) 2026-06-19 15:10:03.134 [Test worker @coroutine#229] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40809/playlist/5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6 2026-06-19 15:10:03.135 [Test worker @coroutine#229] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40809/playlist/5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6 2026-06-19 15:10:03.135 [Test worker @coroutine#229] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40809/playlist/5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6 2026-06-19 15:10:03.135 [Test worker @coroutine#229] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:40809/playlist/5b15144a-5f4d-40d1-a7c3-fa9b0f3386d6. 2026-06-19 15:10:05.296 [Test worker @coroutine#247] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:10:05.296 [Test worker @coroutine#247] INFO io.ktor.server.Application - Application started in 0.045 seconds. 2026-06-19 15:10:05.298 [DefaultDispatcher-worker-9 @coroutine#256] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36613 2026-06-19 15:10:05.349 [DefaultDispatcher-worker-6 @coroutine#254] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36613/playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e 2026-06-19 15:10:05.350 [DefaultDispatcher-worker-6 @coroutine#254] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@51eb7993 for http://localhost:36613/playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e 2026-06-19 15:10:05.350 [DefaultDispatcher-worker-6 @coroutine#254] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36613/playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e 2026-06-19 15:10:05.350 [DefaultDispatcher-worker-6 @coroutine#254] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36613/playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e from class io.ktor.http.content.TextContent 2026-06-19 15:10:05.352 [eventLoopGroupProxy-34-1 @call-handler#264] TRACE io.ktor.server.routing.Routing - Trace for [playlist, c3c896b5-b6b2-4181-9a4c-418aca7a099e] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[c3c896b5-b6b2-4181-9a4c-418aca7a099e]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:POST)" Routing resolve result: SUCCESS; Parameters [uuid=[c3c896b5-b6b2-4181-9a4c-418aca7a099e]] @ /playlist/{uuid}/(method:POST) 2026-06-19 15:10:05.353 [eventLoopGroupProxy-34-1 @call-handler#264] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e 2026-06-19 15:10:05.354 [DefaultDispatcher-worker-6 @call-handler#264] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:10:05.354 [DefaultDispatcher-worker-4 @coroutine#254] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36613/playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e 2026-06-19 15:10:05.354 [DefaultDispatcher-worker-4 @coroutine#254] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36613/playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e 2026-06-19 15:10:05.354 [DefaultDispatcher-worker-4 @coroutine#254] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36613/playlist/c3c896b5-b6b2-4181-9a4c-418aca7a099e 2026-06-19 15:10:07.469 [Test worker @coroutine#269] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:10:07.471 [Test worker @coroutine#269] INFO io.ktor.server.Application - Application started in 0.055 seconds. 2026-06-19 15:10:07.473 [DefaultDispatcher-worker-4 @coroutine#278] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34277 2026-06-19 15:10:07.618 [DefaultDispatcher-worker-6 @coroutine#276] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34277/api/school/xapi/statements 2026-06-19 15:10:07.624 [DefaultDispatcher-worker-6 @coroutine#276] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@314c8982 for http://localhost:34277/api/school/xapi/statements 2026-06-19 15:10:07.624 [DefaultDispatcher-worker-6 @coroutine#276] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34277/api/school/xapi/statements 2026-06-19 15:10:07.624 [DefaultDispatcher-worker-6 @coroutine#276] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34277/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 15:10:07.641 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-19 15:10:07.641 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-19 15:10:07.688 [DefaultDispatcher-worker-9 @coroutine#276] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34277/api/school/xapi/statements 2026-06-19 15:10:07.688 [DefaultDispatcher-worker-8 @coroutine#276] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34277/api/school/xapi/statements 2026-06-19 15:10:07.688 [DefaultDispatcher-worker-8 @coroutine#276] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34277/api/school/xapi/statements 2026-06-19 15:10:07.689 [DefaultDispatcher-worker-8 @coroutine#276] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34277/api/school/xapi/statements. 2026-06-19 15:10:09.837 [Test worker @coroutine#294] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:10:09.842 [Test worker @coroutine#294] INFO io.ktor.server.Application - Application started in 0.065 seconds. 2026-06-19 15:10:09.844 [DefaultDispatcher-worker-8 @coroutine#303] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41781 2026-06-19 15:10:09.937 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41781/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:10:09.937 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41781/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 15:10:09.937 [Test worker @coroutine#294] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41781/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:10:09.957 [eventLoopGroupProxy-40-1 @call-handler#310] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-19 15:10:09.975 [Test worker @coroutine#294] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41781/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:10:09.976 [Test worker @coroutine#294] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41781/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:10:09.976 [Test worker @coroutine#294] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41781/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:10:09.977 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:41781/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 15:46:31.334 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:31.439 [Test worker] INFO io.ktor.server.Application - Application started in 0.255 seconds. 2026-06-19 15:46:31.536 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33021 2026-06-19 15:46:32.459 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33021/resources/index.json 2026-06-19 15:46:32.460 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33021/resources/index.json. 2026-06-19 15:46:32.460 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33021/resources/index.json 2026-06-19 15:46:32.640 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:46:32.712 [DefaultDispatcher-worker-2 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 77ms 2026-06-19 15:46:32.717 [DefaultDispatcher-worker-4 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33021/resources/index.json 2026-06-19 15:46:32.721 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33021/resources/index.json 2026-06-19 15:46:32.722 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33021/resources/index.json 2026-06-19 15:46:32.748 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:33021/resources/index.json. 2026-06-19 15:46:32.786 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33021/resources/index.json 2026-06-19 15:46:32.786 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33021/resources/index.json. 2026-06-19 15:46:32.786 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33021/resources/index.json 2026-06-19 15:46:32.790 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:46:32.792 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 3ms 2026-06-19 15:46:32.793 [DefaultDispatcher-worker-4 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33021/resources/index.json 2026-06-19 15:46:32.793 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33021/resources/index.json 2026-06-19 15:46:32.793 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33021/resources/index.json 2026-06-19 15:46:34.806 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:34.807 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 15:46:34.808 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:32799 2026-06-19 15:46:34.876 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32799/resources/index.json 2026-06-19 15:46:34.877 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32799/resources/index.json. 2026-06-19 15:46:34.877 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32799/resources/index.json 2026-06-19 15:46:34.880 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:46:34.880 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-19 15:46:34.881 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32799/resources/index.json 2026-06-19 15:46:34.881 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32799/resources/index.json 2026-06-19 15:46:34.881 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32799/resources/index.json 2026-06-19 15:46:34.882 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:32799/resources/index.json. 2026-06-19 15:46:34.886 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32799/resources/index.json 2026-06-19 15:46:34.886 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32799/resources/index.json. 2026-06-19 15:46:34.886 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32799/resources/index.json 2026-06-19 15:46:34.887 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:46:34.887 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms 2026-06-19 15:46:34.888 [DefaultDispatcher-worker-5 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32799/resources/index.json 2026-06-19 15:46:34.888 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32799/resources/index.json 2026-06-19 15:46:34.888 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32799/resources/index.json 2026-06-19 15:46:36.893 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:36.894 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 15:46:36.895 [DefaultDispatcher-worker-6 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41257 2026-06-19 15:46:36.900 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41257/resources/lesson001.json 2026-06-19 15:46:36.900 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41257/resources/lesson001.json. 2026-06-19 15:46:36.900 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41257/resources/lesson001.json 2026-06-19 15:46:36.902 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-19 15:46:36.903 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-19 15:46:36.904 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41257/resources/lesson001.json 2026-06-19 15:46:36.904 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41257/resources/lesson001.json 2026-06-19 15:46:36.904 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41257/resources/lesson001.json 2026-06-19 15:46:36.906 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:41257/resources/lesson001.json. 2026-06-19 15:46:39.151 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:39.157 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.099 seconds. 2026-06-19 15:46:39.159 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45481 2026-06-19 15:46:39.169 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45481/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:39.169 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45481/api/school/respect/schoolpermissiongrant. 2026-06-19 15:46:39.169 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45481/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:39.174 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 15:46:39.188 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45481/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:39.188 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45481/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:39.188 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45481/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:39.190 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45481/api/school/respect/schoolpermissiongrant. 2026-06-19 15:46:39.280 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.280 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45481/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:39.280 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.282 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:39.303 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.303 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.303 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.304 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45481/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:39.311 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.311 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45481/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:39.311 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.313 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:39.315 [DefaultDispatcher-worker-1 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:46:39.317 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.317 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:39.317 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45481/api/school/respect/person?includeRelated=false 2026-06-19 15:46:41.428 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:41.429 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 15:46:41.430 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34699 2026-06-19 15:46:41.431 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34699/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:41.431 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34699/api/school/respect/schoolpermissiongrant. 2026-06-19 15:46:41.431 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34699/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:41.434 [eventLoopGroupProxy-16-1 @call-handler#107] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 15:46:41.436 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34699/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:41.436 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34699/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:41.436 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34699/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:41.436 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34699/api/school/respect/schoolpermissiongrant. 2026-06-19 15:46:41.483 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:46:41.483 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:46:41.484 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:46:41.485 [eventLoopGroupProxy-16-1 @call-handler#117] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:41.488 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:46:41.488 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:46:41.488 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:46:41.489 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:46:43.613 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:43.614 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 15:46:43.615 [DefaultDispatcher-worker-2 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35379 2026-06-19 15:46:43.618 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35379/api/school/respect/person?includeRelated=false 2026-06-19 15:46:43.618 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35379/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:43.618 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35379/api/school/respect/person?includeRelated=false 2026-06-19 15:46:43.620 [eventLoopGroupProxy-19-1 @call-handler#136] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:43.624 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35379/api/school/respect/person?includeRelated=false 2026-06-19 15:46:43.624 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35379/api/school/respect/person?includeRelated=false 2026-06-19 15:46:43.624 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35379/api/school/respect/person?includeRelated=false 2026-06-19 15:46:43.625 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35379/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:43.675 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35379/api/school/respect/person?since=2026-06-19T11%3A46%3A43.621358767Z&includeRelated=false 2026-06-19 15:46:43.675 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35379/api/school/respect/person?since=2026-06-19T11%3A46%3A43.621358767Z&includeRelated=false. 2026-06-19 15:46:43.675 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35379/api/school/respect/person?since=2026-06-19T11%3A46%3A43.621358767Z&includeRelated=false 2026-06-19 15:46:43.676 [eventLoopGroupProxy-19-1 @call-handler#142] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:43.679 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35379/api/school/respect/person?since=2026-06-19T11%3A46%3A43.621358767Z&includeRelated=false 2026-06-19 15:46:43.679 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35379/api/school/respect/person?since=2026-06-19T11%3A46%3A43.621358767Z&includeRelated=false 2026-06-19 15:46:43.679 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35379/api/school/respect/person?since=2026-06-19T11%3A46%3A43.621358767Z&includeRelated=false 2026-06-19 15:46:43.679 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35379/api/school/respect/person?since=2026-06-19T11%3A46%3A43.621358767Z&includeRelated=false. 2026-06-19 15:46:45.801 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:45.801 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 15:46:45.802 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34381 2026-06-19 15:46:45.847 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34381/api/school/respect/person 2026-06-19 15:46:45.848 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@70891c5 for http://localhost:34381/api/school/respect/person 2026-06-19 15:46:45.848 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34381/api/school/respect/person 2026-06-19 15:46:45.848 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34381/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 15:46:45.853 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-19 15:46:45.859 [eventLoopGroupProxy-22-1 @call-handler#167] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-19 15:46:45.860 [DefaultDispatcher-worker-4 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:46:45.861 [DefaultDispatcher-worker-5 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34381/api/school/respect/person 2026-06-19 15:46:45.861 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34381/api/school/respect/person 2026-06-19 15:46:45.861 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34381/api/school/respect/person 2026-06-19 15:46:47.968 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:47.969 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 15:46:47.970 [DefaultDispatcher-worker-1 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37661 2026-06-19 15:46:47.971 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37661/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:47.971 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37661/api/school/respect/schoolpermissiongrant. 2026-06-19 15:46:47.971 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37661/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:47.973 [eventLoopGroupProxy-25-1 @call-handler#185] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-19 15:46:47.975 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37661/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:47.975 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37661/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:47.975 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37661/api/school/respect/schoolpermissiongrant 2026-06-19 15:46:47.975 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37661/api/school/respect/schoolpermissiongrant. 2026-06-19 15:46:48.017 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:48.017 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37661/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:48.017 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:48.018 [eventLoopGroupProxy-25-1 @call-handler#191] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:48.023 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:48.023 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:48.023 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:48.024 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37661/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:50.029 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:50.030 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37661/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:50.030 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:50.031 [eventLoopGroupProxy-25-1 @call-handler#198] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:50.034 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:50.034 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:50.034 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37661/api/school/respect/person?includeRelated=false 2026-06-19 15:46:50.035 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37661/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:52.143 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:52.144 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 15:46:52.145 [DefaultDispatcher-worker-4 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41625 2026-06-19 15:46:52.147 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41625/api/school/respect/person?includeRelated=false 2026-06-19 15:46:52.147 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41625/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:52.147 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41625/api/school/respect/person?includeRelated=false 2026-06-19 15:46:52.149 [eventLoopGroupProxy-28-1 @call-handler#218] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:52.153 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41625/api/school/respect/person?includeRelated=false 2026-06-19 15:46:52.153 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41625/api/school/respect/person?includeRelated=false 2026-06-19 15:46:52.153 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41625/api/school/respect/person?includeRelated=false 2026-06-19 15:46:52.154 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41625/api/school/respect/person?includeRelated=false. 2026-06-19 15:46:52.195 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41625/api/school/respect/person?since=2026-06-19T11%3A46%3A52.149960079Z&includeRelated=false 2026-06-19 15:46:52.195 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41625/api/school/respect/person?since=2026-06-19T11%3A46%3A52.149960079Z&includeRelated=false. 2026-06-19 15:46:52.195 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41625/api/school/respect/person?since=2026-06-19T11%3A46%3A52.149960079Z&includeRelated=false 2026-06-19 15:46:52.196 [eventLoopGroupProxy-28-1 @call-handler#225] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-19 15:46:52.199 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41625/api/school/respect/person?since=2026-06-19T11%3A46%3A52.149960079Z&includeRelated=false 2026-06-19 15:46:52.199 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41625/api/school/respect/person?since=2026-06-19T11%3A46%3A52.149960079Z&includeRelated=false 2026-06-19 15:46:52.199 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41625/api/school/respect/person?since=2026-06-19T11%3A46%3A52.149960079Z&includeRelated=false 2026-06-19 15:46:52.200 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41625/api/school/respect/person?since=2026-06-19T11%3A46%3A52.149960079Z&includeRelated=false. 2026-06-19 15:46:54.312 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:54.313 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-19 15:46:54.314 [DefaultDispatcher-worker-2 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45587 2026-06-19 15:46:54.316 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45587/playlist/f6b24398-b7a1-4217-b2af-c67d3af69109 2026-06-19 15:46:54.316 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45587/playlist/f6b24398-b7a1-4217-b2af-c67d3af69109. 2026-06-19 15:46:54.316 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45587/playlist/f6b24398-b7a1-4217-b2af-c67d3af69109 2026-06-19 15:46:54.318 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, f6b24398-b7a1-4217-b2af-c67d3af69109] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[f6b24398-b7a1-4217-b2af-c67d3af69109]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [uuid=[f6b24398-b7a1-4217-b2af-c67d3af69109]] @ /playlist/{uuid}/(method:GET) 2026-06-19 15:46:54.324 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45587/playlist/f6b24398-b7a1-4217-b2af-c67d3af69109 2026-06-19 15:46:54.324 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45587/playlist/f6b24398-b7a1-4217-b2af-c67d3af69109 2026-06-19 15:46:54.324 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45587/playlist/f6b24398-b7a1-4217-b2af-c67d3af69109 2026-06-19 15:46:54.324 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:45587/playlist/f6b24398-b7a1-4217-b2af-c67d3af69109. 2026-06-19 15:46:56.451 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:56.451 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 15:46:56.452 [DefaultDispatcher-worker-6 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35747 2026-06-19 15:46:56.495 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35747/playlist/c2a215d3-5930-4da1-8936-7eab029fe40f 2026-06-19 15:46:56.495 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@7500e2fd for http://localhost:35747/playlist/c2a215d3-5930-4da1-8936-7eab029fe40f 2026-06-19 15:46:56.495 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35747/playlist/c2a215d3-5930-4da1-8936-7eab029fe40f 2026-06-19 15:46:56.496 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35747/playlist/c2a215d3-5930-4da1-8936-7eab029fe40f from class io.ktor.http.content.TextContent 2026-06-19 15:46:56.498 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, c2a215d3-5930-4da1-8936-7eab029fe40f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[c2a215d3-5930-4da1-8936-7eab029fe40f]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:POST)" Routing resolve result: SUCCESS; Parameters [uuid=[c2a215d3-5930-4da1-8936-7eab029fe40f]] @ /playlist/{uuid}/(method:POST) 2026-06-19 15:46:56.498 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/c2a215d3-5930-4da1-8936-7eab029fe40f 2026-06-19 15:46:56.499 [DefaultDispatcher-worker-6 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/c2a215d3-5930-4da1-8936-7eab029fe40f request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:46:56.500 [DefaultDispatcher-worker-2 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35747/playlist/c2a215d3-5930-4da1-8936-7eab029fe40f 2026-06-19 15:46:56.500 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35747/playlist/c2a215d3-5930-4da1-8936-7eab029fe40f 2026-06-19 15:46:56.500 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35747/playlist/c2a215d3-5930-4da1-8936-7eab029fe40f 2026-06-19 15:46:58.626 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:46:58.627 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-19 15:46:58.628 [DefaultDispatcher-worker-3 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37957 2026-06-19 15:46:58.727 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37957/api/school/xapi/statements 2026-06-19 15:46:58.729 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@18ed9b48 for http://localhost:37957/api/school/xapi/statements 2026-06-19 15:46:58.729 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37957/api/school/xapi/statements 2026-06-19 15:46:58.729 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:37957/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 15:46:58.732 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-19 15:46:58.732 [eventLoopGroupProxy-37-1 @call-handler#290] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-19 15:46:58.742 [DefaultDispatcher-worker-9 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37957/api/school/xapi/statements 2026-06-19 15:46:58.742 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37957/api/school/xapi/statements 2026-06-19 15:46:58.742 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37957/api/school/xapi/statements 2026-06-19 15:46:58.743 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37957/api/school/xapi/statements. 2026-06-19 15:47:00.847 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:47:00.848 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 15:47:00.848 [DefaultDispatcher-worker-9 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:32995 2026-06-19 15:47:00.904 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32995/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:47:00.904 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:32995/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-19 15:47:00.904 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32995/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:47:00.906 [eventLoopGroupProxy-40-1 @call-handler#313] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-19 15:47:00.910 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32995/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:47:00.910 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32995/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:47:00.910 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32995/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-19 15:47:00.911 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:32995/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false.