2026-06-19 09:38:40.291 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:40.390 [Test worker] INFO io.ktor.server.Application - Application started in 0.223 seconds. 2026-06-19 09:38:40.468 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43331 2026-06-19 09:38:41.236 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43331/resources/index.json 2026-06-19 09:38:41.237 [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:43331/resources/index.json. 2026-06-19 09:38:41.237 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43331/resources/index.json 2026-06-19 09:38:41.369 [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:38:41.421 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 57ms 2026-06-19 09:38:41.427 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43331/resources/index.json 2026-06-19 09:38:41.429 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43331/resources/index.json 2026-06-19 09:38:41.429 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43331/resources/index.json 2026-06-19 09:38:41.453 [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:43331/resources/index.json. 2026-06-19 09:38:41.488 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43331/resources/index.json 2026-06-19 09:38:41.488 [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:43331/resources/index.json. 2026-06-19 09:38:41.488 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43331/resources/index.json 2026-06-19 09:38:41.491 [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:38:41.492 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-19 09:38:41.493 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43331/resources/index.json 2026-06-19 09:38:41.494 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43331/resources/index.json 2026-06-19 09:38:41.494 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43331/resources/index.json 2026-06-19 09:38:42.505 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@31b833bf 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 09:38:43.514 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:43.514 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 09:38:43.516 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45929 2026-06-19 09:38:43.570 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45929/resources/index.json 2026-06-19 09:38:43.570 [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:45929/resources/index.json. 2026-06-19 09:38:43.570 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45929/resources/index.json 2026-06-19 09:38:43.576 [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:38:43.577 [DefaultDispatcher-worker-4 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-19 09:38:43.577 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45929/resources/index.json 2026-06-19 09:38:43.577 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45929/resources/index.json 2026-06-19 09:38:43.577 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45929/resources/index.json 2026-06-19 09:38:43.578 [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:45929/resources/index.json. 2026-06-19 09:38:43.582 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45929/resources/index.json 2026-06-19 09:38:43.582 [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:45929/resources/index.json. 2026-06-19 09:38:43.582 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45929/resources/index.json 2026-06-19 09:38:43.583 [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:38:43.584 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms 2026-06-19 09:38:43.584 [DefaultDispatcher-worker-4 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45929/resources/index.json 2026-06-19 09:38:43.584 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45929/resources/index.json 2026-06-19 09:38:43.584 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45929/resources/index.json 2026-06-19 09:38:45.593 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:45.594 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 09:38:45.595 [DefaultDispatcher-worker-4 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40271 2026-06-19 09:38:45.601 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40271/resources/lesson001.json 2026-06-19 09:38:45.601 [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:40271/resources/lesson001.json. 2026-06-19 09:38:45.601 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40271/resources/lesson001.json 2026-06-19 09:38:45.604 [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:38:45.605 [DefaultDispatcher-worker-6 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-19 09:38:45.606 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40271/resources/lesson001.json 2026-06-19 09:38:45.606 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40271/resources/lesson001.json 2026-06-19 09:38:45.606 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40271/resources/lesson001.json 2026-06-19 09:38:45.609 [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:40271/resources/lesson001.json. 2026-06-19 09:38:47.949 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:47.957 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.136 seconds. 2026-06-19 09:38:47.962 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36511 2026-06-19 09:38:47.974 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36511/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:47.974 [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:36511/api/school/respect/schoolpermissiongrant. 2026-06-19 09:38:47.974 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36511/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:47.986 [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:38:48.021 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36511/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:48.022 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36511/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:48.022 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36511/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:48.024 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36511/api/school/respect/schoolpermissiongrant. 2026-06-19 09:38:48.129 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.129 [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:36511/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:48.129 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.131 [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:38:48.154 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.155 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.155 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.156 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36511/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:48.167 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.167 [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:36511/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:48.168 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.170 [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:38:48.173 [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 09:38:48.175 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.175 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:48.175 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-19 09:38:50.293 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:50.294 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-19 09:38:50.295 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40091 2026-06-19 09:38:50.297 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40091/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:50.297 [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:40091/api/school/respect/schoolpermissiongrant. 2026-06-19 09:38:50.297 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40091/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:50.300 [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:38:50.302 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40091/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:50.302 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40091/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:50.302 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40091/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:50.303 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40091/api/school/respect/schoolpermissiongrant. 2026-06-19 09:38:50.359 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40091/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:38:50.359 [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:40091/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 09:38:50.359 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40091/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:38:50.361 [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:38:50.365 [DefaultDispatcher-worker-5 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40091/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:38:50.365 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40091/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:38:50.365 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40091/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 09:38:50.366 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40091/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 09:38:52.553 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:52.556 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.065 seconds. 2026-06-19 09:38:52.562 [DefaultDispatcher-worker-2 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44281 2026-06-19 09:38:52.568 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44281/api/school/respect/person?includeRelated=false 2026-06-19 09:38:52.568 [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:44281/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:52.568 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44281/api/school/respect/person?includeRelated=false 2026-06-19 09:38:52.580 [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:38:52.590 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44281/api/school/respect/person?includeRelated=false 2026-06-19 09:38:52.590 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44281/api/school/respect/person?includeRelated=false 2026-06-19 09:38:52.590 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44281/api/school/respect/person?includeRelated=false 2026-06-19 09:38:52.592 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44281/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:52.681 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44281/api/school/respect/person?since=2026-06-19T05%3A38%3A52.580929707Z&includeRelated=false 2026-06-19 09:38:52.681 [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:44281/api/school/respect/person?since=2026-06-19T05%3A38%3A52.580929707Z&includeRelated=false. 2026-06-19 09:38:52.682 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44281/api/school/respect/person?since=2026-06-19T05%3A38%3A52.580929707Z&includeRelated=false 2026-06-19 09:38:52.687 [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:38:52.691 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44281/api/school/respect/person?since=2026-06-19T05%3A38%3A52.580929707Z&includeRelated=false 2026-06-19 09:38:52.691 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44281/api/school/respect/person?since=2026-06-19T05%3A38%3A52.580929707Z&includeRelated=false 2026-06-19 09:38:52.691 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44281/api/school/respect/person?since=2026-06-19T05%3A38%3A52.580929707Z&includeRelated=false 2026-06-19 09:38:52.692 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44281/api/school/respect/person?since=2026-06-19T05%3A38%3A52.580929707Z&includeRelated=false. 2026-06-19 09:38:54.829 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:54.842 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.058 seconds. 2026-06-19 09:38:54.855 [DefaultDispatcher-worker-4 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34841 2026-06-19 09:38:54.927 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34841/api/school/respect/person 2026-06-19 09:38:54.928 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@526e46f6 for http://localhost:34841/api/school/respect/person 2026-06-19 09:38:54.928 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34841/api/school/respect/person 2026-06-19 09:38:54.928 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34841/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 09:38:54.933 [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:38:54.956 [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:38:54.974 [DefaultDispatcher-worker-2 @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:38:54.979 [DefaultDispatcher-worker-2 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34841/api/school/respect/person 2026-06-19 09:38:54.984 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34841/api/school/respect/person 2026-06-19 09:38:54.985 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34841/api/school/respect/person 2026-06-19 09:38:57.197 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:38:57.199 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.071 seconds. 2026-06-19 09:38:57.206 [DefaultDispatcher-worker-2 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42951 2026-06-19 09:38:57.207 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42951/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:57.208 [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:42951/api/school/respect/schoolpermissiongrant. 2026-06-19 09:38:57.208 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42951/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:57.216 [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:38:57.228 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42951/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:57.229 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42951/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:57.229 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42951/api/school/respect/schoolpermissiongrant 2026-06-19 09:38:57.229 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42951/api/school/respect/schoolpermissiongrant. 2026-06-19 09:38:57.283 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:57.283 [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:42951/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:57.283 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:57.284 [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:38:57.292 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:57.292 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:57.292 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:57.293 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42951/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:59.311 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:59.311 [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:42951/api/school/respect/person?includeRelated=false. 2026-06-19 09:38:59.311 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:59.320 [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:38:59.328 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:59.329 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:59.329 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42951/api/school/respect/person?includeRelated=false 2026-06-19 09:38:59.330 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42951/api/school/respect/person?includeRelated=false. 2026-06-19 09:39:01.467 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:39:01.468 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-19 09:39:01.470 [DefaultDispatcher-worker-7 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34661 2026-06-19 09:39:01.473 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34661/api/school/respect/person?includeRelated=false 2026-06-19 09:39:01.474 [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:34661/api/school/respect/person?includeRelated=false. 2026-06-19 09:39:01.474 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34661/api/school/respect/person?includeRelated=false 2026-06-19 09:39:01.477 [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:39:01.485 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34661/api/school/respect/person?includeRelated=false 2026-06-19 09:39:01.486 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34661/api/school/respect/person?includeRelated=false 2026-06-19 09:39:01.486 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34661/api/school/respect/person?includeRelated=false 2026-06-19 09:39:01.487 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34661/api/school/respect/person?includeRelated=false. 2026-06-19 09:39:01.545 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34661/api/school/respect/person?since=2026-06-19T05%3A39%3A01.479296425Z&includeRelated=false 2026-06-19 09:39:01.545 [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:34661/api/school/respect/person?since=2026-06-19T05%3A39%3A01.479296425Z&includeRelated=false. 2026-06-19 09:39:01.545 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34661/api/school/respect/person?since=2026-06-19T05%3A39%3A01.479296425Z&includeRelated=false 2026-06-19 09:39:01.548 [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:39:01.552 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34661/api/school/respect/person?since=2026-06-19T05%3A39%3A01.479296425Z&includeRelated=false 2026-06-19 09:39:01.552 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34661/api/school/respect/person?since=2026-06-19T05%3A39%3A01.479296425Z&includeRelated=false 2026-06-19 09:39:01.552 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34661/api/school/respect/person?since=2026-06-19T05%3A39%3A01.479296425Z&includeRelated=false 2026-06-19 09:39:01.554 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34661/api/school/respect/person?since=2026-06-19T05%3A39%3A01.479296425Z&includeRelated=false. 2026-06-19 09:39:03.770 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:39:03.772 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.058 seconds. 2026-06-19 09:39:03.772 [DefaultDispatcher-worker-3 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45485 2026-06-19 09:39:03.775 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45485/playlist/97ba27e5-4f0a-476b-a35c-81c7eb72af1d 2026-06-19 09:39:03.775 [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:45485/playlist/97ba27e5-4f0a-476b-a35c-81c7eb72af1d. 2026-06-19 09:39:03.775 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45485/playlist/97ba27e5-4f0a-476b-a35c-81c7eb72af1d 2026-06-19 09:39:03.789 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 97ba27e5-4f0a-476b-a35c-81c7eb72af1d] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[97ba27e5-4f0a-476b-a35c-81c7eb72af1d]] @ /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=[97ba27e5-4f0a-476b-a35c-81c7eb72af1d]] @ /playlist/{uuid}/(method:GET) 2026-06-19 09:39:03.799 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45485/playlist/97ba27e5-4f0a-476b-a35c-81c7eb72af1d 2026-06-19 09:39:03.799 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45485/playlist/97ba27e5-4f0a-476b-a35c-81c7eb72af1d 2026-06-19 09:39:03.799 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45485/playlist/97ba27e5-4f0a-476b-a35c-81c7eb72af1d 2026-06-19 09:39:03.800 [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:45485/playlist/97ba27e5-4f0a-476b-a35c-81c7eb72af1d. 2026-06-19 09:39:05.954 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:39:05.954 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-19 09:39:05.955 [DefaultDispatcher-worker-7 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38803 2026-06-19 09:39:06.005 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38803/playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 2026-06-19 09:39:06.005 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6aec9a16 for http://localhost:38803/playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 2026-06-19 09:39:06.005 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38803/playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 2026-06-19 09:39:06.005 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38803/playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 from class io.ktor.http.content.TextContent 2026-06-19 09:39:06.007 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5]] @ /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=[4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5]] @ /playlist/{uuid}/(method:POST) 2026-06-19 09:39:06.008 [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/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 2026-06-19 09:39:06.009 [DefaultDispatcher-worker-7 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 09:39:06.009 [DefaultDispatcher-worker-7 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38803/playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 2026-06-19 09:39:06.009 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38803/playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 2026-06-19 09:39:06.009 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38803/playlist/4bd933ee-50b3-4c13-81a4-8cd8eb2d48b5 2026-06-19 09:39:08.118 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:39:08.120 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-19 09:39:08.121 [DefaultDispatcher-worker-7 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36315 2026-06-19 09:39:08.256 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36315/api/school/xapi/statements 2026-06-19 09:39:08.258 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@39616f2b for http://localhost:36315/api/school/xapi/statements 2026-06-19 09:39:08.258 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36315/api/school/xapi/statements 2026-06-19 09:39:08.258 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36315/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 09:39:08.261 [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:39:08.262 [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:39:08.276 [DefaultDispatcher-worker-1 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36315/api/school/xapi/statements 2026-06-19 09:39:08.276 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36315/api/school/xapi/statements 2026-06-19 09:39:08.276 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36315/api/school/xapi/statements 2026-06-19 09:39:08.276 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36315/api/school/xapi/statements. 2026-06-19 09:39:10.407 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 09:39:10.408 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.05 seconds. 2026-06-19 09:39:10.412 [DefaultDispatcher-worker-2 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38541 2026-06-19 09:39:10.477 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38541/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:39:10.478 [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:38541/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:39:10.478 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38541/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:39:10.491 [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:39:10.507 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38541/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:39:10.508 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38541/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:39:10.508 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38541/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:39:10.511 [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:38541/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:25:44.367 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:25:44.518 [Test worker] INFO io.ktor.server.Application - Application started in 0.329 seconds. 2026-06-19 14:25:44.622 [DefaultDispatcher-worker-2 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43285 2026-06-19 14:25:45.338 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43285/resources/index.json 2026-06-19 14:25:45.338 [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:43285/resources/index.json. 2026-06-19 14:25:45.338 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43285/resources/index.json 2026-06-19 14:25:45.452 [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:25:45.496 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 48ms 2026-06-19 14:25:45.499 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43285/resources/index.json 2026-06-19 14:25:45.501 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43285/resources/index.json 2026-06-19 14:25:45.501 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43285/resources/index.json 2026-06-19 14:25:45.520 [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:43285/resources/index.json. 2026-06-19 14:25:45.549 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43285/resources/index.json 2026-06-19 14:25:45.549 [DefaultDispatcher-worker-3 @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:43285/resources/index.json. 2026-06-19 14:25:45.549 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43285/resources/index.json 2026-06-19 14:25:45.551 [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:25:45.552 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 14:25:45.553 [DefaultDispatcher-worker-3 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43285/resources/index.json 2026-06-19 14:25:45.553 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43285/resources/index.json 2026-06-19 14:25:45.553 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43285/resources/index.json 2026-06-19 14:25:46.560 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@7e31e697 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:25:47.567 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:25:47.567 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 14:25:47.568 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43035 2026-06-19 14:25:47.656 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43035/resources/index.json 2026-06-19 14:25:47.656 [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:43035/resources/index.json. 2026-06-19 14:25:47.656 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43035/resources/index.json 2026-06-19 14:25:47.659 [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:25:47.660 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-19 14:25:47.661 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43035/resources/index.json 2026-06-19 14:25:47.661 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43035/resources/index.json 2026-06-19 14:25:47.661 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43035/resources/index.json 2026-06-19 14:25:47.662 [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:43035/resources/index.json. 2026-06-19 14:25:47.666 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43035/resources/index.json 2026-06-19 14:25:47.666 [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:43035/resources/index.json. 2026-06-19 14:25:47.666 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43035/resources/index.json 2026-06-19 14:25:47.667 [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:25:47.668 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 14:25:47.668 [DefaultDispatcher-worker-2 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43035/resources/index.json 2026-06-19 14:25:47.668 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43035/resources/index.json 2026-06-19 14:25:47.669 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43035/resources/index.json 2026-06-19 14:25:49.674 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:25:49.675 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 14:25:49.676 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35269 2026-06-19 14:25:49.681 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35269/resources/lesson001.json 2026-06-19 14:25:49.681 [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:35269/resources/lesson001.json. 2026-06-19 14:25:49.681 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35269/resources/lesson001.json 2026-06-19 14:25:49.684 [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:25:49.687 [DefaultDispatcher-worker-2 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 3ms 2026-06-19 14:25:49.692 [DefaultDispatcher-worker-1 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35269/resources/lesson001.json 2026-06-19 14:25:49.692 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35269/resources/lesson001.json 2026-06-19 14:25:49.692 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35269/resources/lesson001.json 2026-06-19 14:25:49.696 [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:35269/resources/lesson001.json. 2026-06-19 14:25:51.933 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:25:51.942 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.118 seconds. 2026-06-19 14:25:51.945 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45927 2026-06-19 14:25:51.954 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45927/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:51.955 [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:45927/api/school/respect/schoolpermissiongrant. 2026-06-19 14:25:51.955 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45927/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:51.960 [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:25:51.975 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45927/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:51.975 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45927/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:51.975 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45927/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:51.978 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45927/api/school/respect/schoolpermissiongrant. 2026-06-19 14:25:52.054 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.054 [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:45927/api/school/respect/person?includeRelated=false. 2026-06-19 14:25:52.054 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.056 [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:25:52.073 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.073 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.073 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.074 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45927/api/school/respect/person?includeRelated=false. 2026-06-19 14:25:52.080 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.080 [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:45927/api/school/respect/person?includeRelated=false. 2026-06-19 14:25:52.080 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.081 [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:25:52.083 [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 14:25:52.084 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.084 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:52.084 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45927/api/school/respect/person?includeRelated=false 2026-06-19 14:25:54.185 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:25:54.186 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 14:25:54.187 [DefaultDispatcher-worker-4 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42843 2026-06-19 14:25:54.188 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42843/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:54.188 [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:42843/api/school/respect/schoolpermissiongrant. 2026-06-19 14:25:54.188 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42843/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:54.191 [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:25:54.193 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42843/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:54.193 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42843/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:54.193 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42843/api/school/respect/schoolpermissiongrant 2026-06-19 14:25:54.193 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42843/api/school/respect/schoolpermissiongrant. 2026-06-19 14:25:54.240 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42843/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:25:54.240 [DefaultDispatcher-worker-3 @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:42843/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:25:54.240 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42843/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:25:54.242 [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:25:54.244 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42843/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:25:54.245 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42843/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:25:54.245 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42843/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:25:54.245 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42843/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:25:56.374 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:25:56.375 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 14:25:56.376 [DefaultDispatcher-worker-6 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41879 2026-06-19 14:25:56.379 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41879/api/school/respect/person?includeRelated=false 2026-06-19 14:25:56.379 [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:41879/api/school/respect/person?includeRelated=false. 2026-06-19 14:25:56.379 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41879/api/school/respect/person?includeRelated=false 2026-06-19 14:25:56.382 [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:25:56.386 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41879/api/school/respect/person?includeRelated=false 2026-06-19 14:25:56.386 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41879/api/school/respect/person?includeRelated=false 2026-06-19 14:25:56.386 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41879/api/school/respect/person?includeRelated=false 2026-06-19 14:25:56.387 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41879/api/school/respect/person?includeRelated=false. 2026-06-19 14:25:56.438 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41879/api/school/respect/person?since=2026-06-19T10%3A25%3A56.382390784Z&includeRelated=false 2026-06-19 14:25:56.438 [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:41879/api/school/respect/person?since=2026-06-19T10%3A25%3A56.382390784Z&includeRelated=false. 2026-06-19 14:25:56.438 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41879/api/school/respect/person?since=2026-06-19T10%3A25%3A56.382390784Z&includeRelated=false 2026-06-19 14:25:56.440 [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:25:56.442 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41879/api/school/respect/person?since=2026-06-19T10%3A25%3A56.382390784Z&includeRelated=false 2026-06-19 14:25:56.443 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41879/api/school/respect/person?since=2026-06-19T10%3A25%3A56.382390784Z&includeRelated=false 2026-06-19 14:25:56.443 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41879/api/school/respect/person?since=2026-06-19T10%3A25%3A56.382390784Z&includeRelated=false 2026-06-19 14:25:56.443 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41879/api/school/respect/person?since=2026-06-19T10%3A25%3A56.382390784Z&includeRelated=false. 2026-06-19 14:25:58.565 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:25:58.566 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-19 14:25:58.568 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36103 2026-06-19 14:25:58.613 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36103/api/school/respect/person 2026-06-19 14:25:58.613 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@17ba4eb7 for http://localhost:36103/api/school/respect/person 2026-06-19 14:25:58.613 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36103/api/school/respect/person 2026-06-19 14:25:58.614 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36103/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 14:25:58.617 [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:25:58.622 [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:25:58.624 [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:25:58.625 [DefaultDispatcher-worker-5 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36103/api/school/respect/person 2026-06-19 14:25:58.625 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36103/api/school/respect/person 2026-06-19 14:25:58.625 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36103/api/school/respect/person 2026-06-19 14:26:00.742 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:26:00.743 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-19 14:26:00.744 [DefaultDispatcher-worker-5 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35453 2026-06-19 14:26:00.745 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35453/api/school/respect/schoolpermissiongrant 2026-06-19 14:26:00.745 [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:35453/api/school/respect/schoolpermissiongrant. 2026-06-19 14:26:00.745 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35453/api/school/respect/schoolpermissiongrant 2026-06-19 14:26:00.747 [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:26:00.749 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35453/api/school/respect/schoolpermissiongrant 2026-06-19 14:26:00.749 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35453/api/school/respect/schoolpermissiongrant 2026-06-19 14:26:00.749 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35453/api/school/respect/schoolpermissiongrant 2026-06-19 14:26:00.749 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35453/api/school/respect/schoolpermissiongrant. 2026-06-19 14:26:00.798 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:00.798 [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:35453/api/school/respect/person?includeRelated=false. 2026-06-19 14:26:00.798 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:00.799 [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:26:00.804 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:00.804 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:00.804 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:00.805 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35453/api/school/respect/person?includeRelated=false. 2026-06-19 14:26:02.810 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:02.810 [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:35453/api/school/respect/person?includeRelated=false. 2026-06-19 14:26:02.810 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:02.812 [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:26:02.815 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:02.815 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:02.815 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35453/api/school/respect/person?includeRelated=false 2026-06-19 14:26:02.816 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35453/api/school/respect/person?includeRelated=false. 2026-06-19 14:26:04.909 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:26:04.910 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 14:26:04.911 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36639 2026-06-19 14:26:04.913 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36639/api/school/respect/person?includeRelated=false 2026-06-19 14:26:04.913 [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:36639/api/school/respect/person?includeRelated=false. 2026-06-19 14:26:04.913 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36639/api/school/respect/person?includeRelated=false 2026-06-19 14:26:04.915 [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:26:04.919 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36639/api/school/respect/person?includeRelated=false 2026-06-19 14:26:04.919 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36639/api/school/respect/person?includeRelated=false 2026-06-19 14:26:04.919 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36639/api/school/respect/person?includeRelated=false 2026-06-19 14:26:04.919 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36639/api/school/respect/person?includeRelated=false. 2026-06-19 14:26:04.962 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36639/api/school/respect/person?since=2026-06-19T10%3A26%3A04.916074043Z&includeRelated=false 2026-06-19 14:26:04.962 [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:36639/api/school/respect/person?since=2026-06-19T10%3A26%3A04.916074043Z&includeRelated=false. 2026-06-19 14:26:04.962 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36639/api/school/respect/person?since=2026-06-19T10%3A26%3A04.916074043Z&includeRelated=false 2026-06-19 14:26:04.963 [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:26:04.966 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36639/api/school/respect/person?since=2026-06-19T10%3A26%3A04.916074043Z&includeRelated=false 2026-06-19 14:26:04.966 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36639/api/school/respect/person?since=2026-06-19T10%3A26%3A04.916074043Z&includeRelated=false 2026-06-19 14:26:04.966 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36639/api/school/respect/person?since=2026-06-19T10%3A26%3A04.916074043Z&includeRelated=false 2026-06-19 14:26:04.967 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36639/api/school/respect/person?since=2026-06-19T10%3A26%3A04.916074043Z&includeRelated=false. 2026-06-19 14:26:07.074 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:26:07.076 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-19 14:26:07.077 [DefaultDispatcher-worker-6 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42283 2026-06-19 14:26:07.078 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42283/playlist/8758f5e0-6b78-4450-ac5c-0aa169309953 2026-06-19 14:26:07.078 [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:42283/playlist/8758f5e0-6b78-4450-ac5c-0aa169309953. 2026-06-19 14:26:07.078 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42283/playlist/8758f5e0-6b78-4450-ac5c-0aa169309953 2026-06-19 14:26:07.081 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 8758f5e0-6b78-4450-ac5c-0aa169309953] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[8758f5e0-6b78-4450-ac5c-0aa169309953]] @ /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=[8758f5e0-6b78-4450-ac5c-0aa169309953]] @ /playlist/{uuid}/(method:GET) 2026-06-19 14:26:07.086 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42283/playlist/8758f5e0-6b78-4450-ac5c-0aa169309953 2026-06-19 14:26:07.086 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42283/playlist/8758f5e0-6b78-4450-ac5c-0aa169309953 2026-06-19 14:26:07.086 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42283/playlist/8758f5e0-6b78-4450-ac5c-0aa169309953 2026-06-19 14:26:07.087 [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:42283/playlist/8758f5e0-6b78-4450-ac5c-0aa169309953. 2026-06-19 14:26:09.210 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:26:09.211 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 14:26:09.212 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34819 2026-06-19 14:26:09.251 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34819/playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 2026-06-19 14:26:09.251 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@4453c097 for http://localhost:34819/playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 2026-06-19 14:26:09.252 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34819/playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 2026-06-19 14:26:09.252 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34819/playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 from class io.ktor.http.content.TextContent 2026-06-19 14:26:09.254 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, c4ac2949-733c-4d45-abd6-c23d76f64680] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[c4ac2949-733c-4d45-abd6-c23d76f64680]] @ /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=[c4ac2949-733c-4d45-abd6-c23d76f64680]] @ /playlist/{uuid}/(method:POST) 2026-06-19 14:26:09.254 [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/c4ac2949-733c-4d45-abd6-c23d76f64680 2026-06-19 14:26:09.255 [DefaultDispatcher-worker-1 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:26:09.256 [DefaultDispatcher-worker-7 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34819/playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 2026-06-19 14:26:09.256 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34819/playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 2026-06-19 14:26:09.256 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34819/playlist/c4ac2949-733c-4d45-abd6-c23d76f64680 2026-06-19 14:26:11.369 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:26:11.370 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 14:26:11.371 [DefaultDispatcher-worker-9 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41269 2026-06-19 14:26:11.451 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41269/api/school/xapi/statements 2026-06-19 14:26:11.452 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@25ceeef for http://localhost:41269/api/school/xapi/statements 2026-06-19 14:26:11.452 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41269/api/school/xapi/statements 2026-06-19 14:26:11.452 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:41269/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 14:26:11.455 [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:26:11.456 [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:26:11.465 [DefaultDispatcher-worker-10 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41269/api/school/xapi/statements 2026-06-19 14:26:11.465 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41269/api/school/xapi/statements 2026-06-19 14:26:11.465 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41269/api/school/xapi/statements 2026-06-19 14:26:11.465 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41269/api/school/xapi/statements. 2026-06-19 14:26:13.617 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:26:13.618 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.061 seconds. 2026-06-19 14:26:13.619 [DefaultDispatcher-worker-7 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42685 2026-06-19 14:26:13.686 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42685/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:26:13.686 [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:42685/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:26:13.686 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42685/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:26:13.689 [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:26:13.693 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42685/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:26:13.693 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42685/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:26:13.693 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42685/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:26:13.694 [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:42685/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:54:32.174 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:32.325 [Test worker] INFO io.ktor.server.Application - Application started in 0.353 seconds. 2026-06-19 14:54:32.438 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40675 2026-06-19 14:54:33.600 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40675/resources/index.json 2026-06-19 14:54:33.601 [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:40675/resources/index.json. 2026-06-19 14:54:33.601 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40675/resources/index.json 2026-06-19 14:54:33.840 [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:54:33.908 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 77ms 2026-06-19 14:54:33.941 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40675/resources/index.json 2026-06-19 14:54:33.949 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40675/resources/index.json 2026-06-19 14:54:33.950 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40675/resources/index.json 2026-06-19 14:54:33.987 [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:40675/resources/index.json. 2026-06-19 14:54:34.035 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40675/resources/index.json 2026-06-19 14:54:34.035 [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:40675/resources/index.json. 2026-06-19 14:54:34.035 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40675/resources/index.json 2026-06-19 14:54:34.039 [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:54:34.041 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 3ms 2026-06-19 14:54:34.043 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40675/resources/index.json 2026-06-19 14:54:34.044 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40675/resources/index.json 2026-06-19 14:54:34.044 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40675/resources/index.json 2026-06-19 14:54:36.057 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:36.058 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 14:54:36.059 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36195 2026-06-19 14:54:36.134 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36195/resources/index.json 2026-06-19 14:54:36.135 [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:36195/resources/index.json. 2026-06-19 14:54:36.135 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36195/resources/index.json 2026-06-19 14:54:36.144 [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:54:36.146 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-19 14:54:36.148 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36195/resources/index.json 2026-06-19 14:54:36.148 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36195/resources/index.json 2026-06-19 14:54:36.148 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36195/resources/index.json 2026-06-19 14:54:36.149 [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:36195/resources/index.json. 2026-06-19 14:54:36.154 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36195/resources/index.json 2026-06-19 14:54:36.154 [DefaultDispatcher-worker-4 @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:36195/resources/index.json. 2026-06-19 14:54:36.154 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36195/resources/index.json 2026-06-19 14:54:36.155 [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:54:36.156 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 14:54:36.156 [DefaultDispatcher-worker-4 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36195/resources/index.json 2026-06-19 14:54:36.156 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36195/resources/index.json 2026-06-19 14:54:36.156 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36195/resources/index.json 2026-06-19 14:54:38.164 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:38.165 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 14:54:38.166 [DefaultDispatcher-worker-1 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40773 2026-06-19 14:54:38.171 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40773/resources/lesson001.json 2026-06-19 14:54:38.171 [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:40773/resources/lesson001.json. 2026-06-19 14:54:38.171 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40773/resources/lesson001.json 2026-06-19 14:54:38.173 [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:54:38.175 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-19 14:54:38.175 [DefaultDispatcher-worker-4 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40773/resources/lesson001.json 2026-06-19 14:54:38.175 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40773/resources/lesson001.json 2026-06-19 14:54:38.175 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40773/resources/lesson001.json 2026-06-19 14:54:38.178 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:40773/resources/lesson001.json. 2026-06-19 14:54:40.501 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:40.509 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.141 seconds. 2026-06-19 14:54:40.512 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41565 2026-06-19 14:54:40.524 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41565/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:40.524 [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:41565/api/school/respect/schoolpermissiongrant. 2026-06-19 14:54:40.524 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41565/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:40.530 [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:54:40.554 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41565/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:40.555 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41565/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:40.555 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41565/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:40.557 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41565/api/school/respect/schoolpermissiongrant. 2026-06-19 14:54:40.631 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.632 [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:41565/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:40.632 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.634 [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:54:40.658 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.659 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.659 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.660 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41565/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:40.668 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.668 [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:41565/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:40.668 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.670 [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:54:40.673 [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 14:54:40.675 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.675 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:40.675 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41565/api/school/respect/person?includeRelated=false 2026-06-19 14:54:42.857 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:42.858 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.045 seconds. 2026-06-19 14:54:42.859 [DefaultDispatcher-worker-5 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41709 2026-06-19 14:54:42.860 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41709/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:42.860 [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:41709/api/school/respect/schoolpermissiongrant. 2026-06-19 14:54:42.860 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41709/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:42.863 [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:54:42.865 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41709/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:42.865 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41709/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:42.865 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41709/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:42.866 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41709/api/school/respect/schoolpermissiongrant. 2026-06-19 14:54:42.928 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41709/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:54:42.928 [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:41709/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:54:42.928 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41709/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:54:42.930 [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:54:42.932 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41709/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:54:42.932 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41709/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:54:42.932 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41709/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 14:54:42.933 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41709/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 14:54:45.115 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:45.116 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-19 14:54:45.117 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36187 2026-06-19 14:54:45.121 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36187/api/school/respect/person?includeRelated=false 2026-06-19 14:54:45.121 [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:36187/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:45.121 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36187/api/school/respect/person?includeRelated=false 2026-06-19 14:54:45.124 [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:54:45.129 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36187/api/school/respect/person?includeRelated=false 2026-06-19 14:54:45.129 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36187/api/school/respect/person?includeRelated=false 2026-06-19 14:54:45.129 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36187/api/school/respect/person?includeRelated=false 2026-06-19 14:54:45.131 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36187/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:45.187 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36187/api/school/respect/person?since=2026-06-19T10%3A54%3A45.125354269Z&includeRelated=false 2026-06-19 14:54:45.188 [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:36187/api/school/respect/person?since=2026-06-19T10%3A54%3A45.125354269Z&includeRelated=false. 2026-06-19 14:54:45.188 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36187/api/school/respect/person?since=2026-06-19T10%3A54%3A45.125354269Z&includeRelated=false 2026-06-19 14:54:45.189 [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:54:45.193 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36187/api/school/respect/person?since=2026-06-19T10%3A54%3A45.125354269Z&includeRelated=false 2026-06-19 14:54:45.193 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36187/api/school/respect/person?since=2026-06-19T10%3A54%3A45.125354269Z&includeRelated=false 2026-06-19 14:54:45.193 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36187/api/school/respect/person?since=2026-06-19T10%3A54%3A45.125354269Z&includeRelated=false 2026-06-19 14:54:45.194 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36187/api/school/respect/person?since=2026-06-19T10%3A54%3A45.125354269Z&includeRelated=false. 2026-06-19 14:54:47.408 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:47.418 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.061 seconds. 2026-06-19 14:54:47.425 [DefaultDispatcher-worker-4 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42773 2026-06-19 14:54:47.491 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42773/api/school/respect/person 2026-06-19 14:54:47.491 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@699ac684 for http://localhost:42773/api/school/respect/person 2026-06-19 14:54:47.491 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42773/api/school/respect/person 2026-06-19 14:54:47.492 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:42773/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 14:54:47.514 [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:54:47.549 [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:54:47.552 [eventLoopGroupProxy-22-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:54:47.559 [DefaultDispatcher-worker-3 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42773/api/school/respect/person 2026-06-19 14:54:47.559 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42773/api/school/respect/person 2026-06-19 14:54:47.559 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42773/api/school/respect/person 2026-06-19 14:54:49.894 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:49.895 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.106 seconds. 2026-06-19 14:54:49.903 [DefaultDispatcher-worker-7 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44097 2026-06-19 14:54:49.905 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44097/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:49.906 [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:44097/api/school/respect/schoolpermissiongrant. 2026-06-19 14:54:49.906 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44097/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:49.931 [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:54:49.936 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44097/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:49.936 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44097/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:49.936 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44097/api/school/respect/schoolpermissiongrant 2026-06-19 14:54:49.937 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44097/api/school/respect/schoolpermissiongrant. 2026-06-19 14:54:50.071 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:50.071 [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:44097/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:50.071 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:50.073 [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:54:50.080 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:50.080 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:50.080 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:50.082 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44097/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:52.094 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:52.094 [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:44097/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:52.094 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:52.097 [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:54:52.100 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:52.100 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:52.100 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44097/api/school/respect/person?includeRelated=false 2026-06-19 14:54:52.101 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44097/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:54.250 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:54.251 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-19 14:54:54.252 [DefaultDispatcher-worker-8 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46625 2026-06-19 14:54:54.255 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46625/api/school/respect/person?includeRelated=false 2026-06-19 14:54:54.255 [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:46625/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:54.255 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46625/api/school/respect/person?includeRelated=false 2026-06-19 14:54:54.262 [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:54:54.267 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46625/api/school/respect/person?includeRelated=false 2026-06-19 14:54:54.267 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46625/api/school/respect/person?includeRelated=false 2026-06-19 14:54:54.267 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46625/api/school/respect/person?includeRelated=false 2026-06-19 14:54:54.268 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46625/api/school/respect/person?includeRelated=false. 2026-06-19 14:54:54.318 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46625/api/school/respect/person?since=2026-06-19T10%3A54%3A54.263421991Z&includeRelated=false 2026-06-19 14:54:54.318 [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:46625/api/school/respect/person?since=2026-06-19T10%3A54%3A54.263421991Z&includeRelated=false. 2026-06-19 14:54:54.318 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46625/api/school/respect/person?since=2026-06-19T10%3A54%3A54.263421991Z&includeRelated=false 2026-06-19 14:54:54.319 [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:54:54.322 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46625/api/school/respect/person?since=2026-06-19T10%3A54%3A54.263421991Z&includeRelated=false 2026-06-19 14:54:54.322 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46625/api/school/respect/person?since=2026-06-19T10%3A54%3A54.263421991Z&includeRelated=false 2026-06-19 14:54:54.322 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46625/api/school/respect/person?since=2026-06-19T10%3A54%3A54.263421991Z&includeRelated=false 2026-06-19 14:54:54.323 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46625/api/school/respect/person?since=2026-06-19T10%3A54%3A54.263421991Z&includeRelated=false. 2026-06-19 14:54:56.442 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:56.443 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-19 14:54:56.444 [DefaultDispatcher-worker-2 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38989 2026-06-19 14:54:56.446 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38989/playlist/a69962b2-85d1-420e-9687-7ab4cf0bc9a0 2026-06-19 14:54:56.446 [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:38989/playlist/a69962b2-85d1-420e-9687-7ab4cf0bc9a0. 2026-06-19 14:54:56.446 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38989/playlist/a69962b2-85d1-420e-9687-7ab4cf0bc9a0 2026-06-19 14:54:56.448 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, a69962b2-85d1-420e-9687-7ab4cf0bc9a0] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[a69962b2-85d1-420e-9687-7ab4cf0bc9a0]] @ /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=[a69962b2-85d1-420e-9687-7ab4cf0bc9a0]] @ /playlist/{uuid}/(method:GET) 2026-06-19 14:54:56.454 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38989/playlist/a69962b2-85d1-420e-9687-7ab4cf0bc9a0 2026-06-19 14:54:56.454 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38989/playlist/a69962b2-85d1-420e-9687-7ab4cf0bc9a0 2026-06-19 14:54:56.454 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38989/playlist/a69962b2-85d1-420e-9687-7ab4cf0bc9a0 2026-06-19 14:54:56.454 [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:38989/playlist/a69962b2-85d1-420e-9687-7ab4cf0bc9a0. 2026-06-19 14:54:58.648 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:54:58.649 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.064 seconds. 2026-06-19 14:54:58.650 [DefaultDispatcher-worker-2 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45337 2026-06-19 14:54:58.706 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45337/playlist/785cc8a9-b247-44ea-977e-a429767aa209 2026-06-19 14:54:58.707 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@78cc8d0b for http://localhost:45337/playlist/785cc8a9-b247-44ea-977e-a429767aa209 2026-06-19 14:54:58.712 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45337/playlist/785cc8a9-b247-44ea-977e-a429767aa209 2026-06-19 14:54:58.713 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45337/playlist/785cc8a9-b247-44ea-977e-a429767aa209 from class io.ktor.http.content.TextContent 2026-06-19 14:54:58.737 [eventLoopGroupProxy-34-1 @call-handler#265] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 785cc8a9-b247-44ea-977e-a429767aa209] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[785cc8a9-b247-44ea-977e-a429767aa209]] @ /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=[785cc8a9-b247-44ea-977e-a429767aa209]] @ /playlist/{uuid}/(method:POST) 2026-06-19 14:54:58.737 [eventLoopGroupProxy-34-1 @call-handler#265] 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/785cc8a9-b247-44ea-977e-a429767aa209 2026-06-19 14:54:58.745 [DefaultDispatcher-worker-7 @call-handler#265] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/785cc8a9-b247-44ea-977e-a429767aa209 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 14:54:58.747 [DefaultDispatcher-worker-7 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45337/playlist/785cc8a9-b247-44ea-977e-a429767aa209 2026-06-19 14:54:58.747 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45337/playlist/785cc8a9-b247-44ea-977e-a429767aa209 2026-06-19 14:54:58.747 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45337/playlist/785cc8a9-b247-44ea-977e-a429767aa209 2026-06-19 14:55:00.903 [Test worker @coroutine#270] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:55:00.905 [Test worker @coroutine#270] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-19 14:55:00.915 [DefaultDispatcher-worker-8 @coroutine#279] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37797 2026-06-19 14:55:01.101 [DefaultDispatcher-worker-8 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37797/api/school/xapi/statements 2026-06-19 14:55:01.105 [DefaultDispatcher-worker-8 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@94ab12e for http://localhost:37797/api/school/xapi/statements 2026-06-19 14:55:01.105 [DefaultDispatcher-worker-8 @coroutine#277] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37797/api/school/xapi/statements 2026-06-19 14:55:01.105 [DefaultDispatcher-worker-8 @coroutine#277] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:37797/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 14:55:01.108 [eventLoopGroupProxy-37-1 @call-handler#289] 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:55:01.109 [eventLoopGroupProxy-37-1 @call-handler#289] 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:55:01.136 [DefaultDispatcher-worker-2 @coroutine#277] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37797/api/school/xapi/statements 2026-06-19 14:55:01.142 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37797/api/school/xapi/statements 2026-06-19 14:55:01.143 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37797/api/school/xapi/statements 2026-06-19 14:55:01.144 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37797/api/school/xapi/statements. 2026-06-19 14:55:03.261 [Test worker @coroutine#295] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 14:55:03.262 [Test worker @coroutine#295] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-19 14:55:03.263 [DefaultDispatcher-worker-3 @coroutine#304] INFO io.ktor.server.Application - Responding at http://0.0.0.0:32789 2026-06-19 14:55:03.315 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32789/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:55:03.315 [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:32789/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:55:03.315 [Test worker @coroutine#295] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32789/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:55:03.318 [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:55:03.323 [Test worker @coroutine#295] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32789/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:55:03.323 [Test worker @coroutine#295] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32789/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:55:03.323 [Test worker @coroutine#295] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32789/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:55:03.324 [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:32789/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:13:11.634 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:11.715 [Test worker] INFO io.ktor.server.Application - Application started in 0.205 seconds. 2026-06-19 15:13:11.788 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46729 2026-06-19 15:13:12.451 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46729/resources/index.json 2026-06-19 15:13:12.452 [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:46729/resources/index.json. 2026-06-19 15:13:12.452 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46729/resources/index.json 2026-06-19 15:13:12.565 [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:13:12.607 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 45ms 2026-06-19 15:13:12.610 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46729/resources/index.json 2026-06-19 15:13:12.612 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46729/resources/index.json 2026-06-19 15:13:12.612 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46729/resources/index.json 2026-06-19 15:13:12.631 [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:46729/resources/index.json. 2026-06-19 15:13:12.661 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46729/resources/index.json 2026-06-19 15:13:12.661 [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:46729/resources/index.json. 2026-06-19 15:13:12.661 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46729/resources/index.json 2026-06-19 15:13:12.664 [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:13:12.665 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 15:13:12.666 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46729/resources/index.json 2026-06-19 15:13:12.667 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46729/resources/index.json 2026-06-19 15:13:12.667 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46729/resources/index.json 2026-06-19 15:13:14.684 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:14.684 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-19 15:13:14.685 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39421 2026-06-19 15:13:14.759 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39421/resources/index.json 2026-06-19 15:13:14.759 [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:39421/resources/index.json. 2026-06-19 15:13:14.759 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39421/resources/index.json 2026-06-19 15:13:14.762 [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:13:14.763 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-19 15:13:14.764 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39421/resources/index.json 2026-06-19 15:13:14.764 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39421/resources/index.json 2026-06-19 15:13:14.764 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39421/resources/index.json 2026-06-19 15:13:14.765 [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:39421/resources/index.json. 2026-06-19 15:13:14.769 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39421/resources/index.json 2026-06-19 15:13:14.769 [DefaultDispatcher-worker-3 @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:39421/resources/index.json. 2026-06-19 15:13:14.769 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39421/resources/index.json 2026-06-19 15:13:14.771 [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:13:14.772 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 15:13:14.772 [DefaultDispatcher-worker-4 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39421/resources/index.json 2026-06-19 15:13:14.772 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39421/resources/index.json 2026-06-19 15:13:14.772 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39421/resources/index.json 2026-06-19 15:13:16.778 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:16.779 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 15:13:16.780 [DefaultDispatcher-worker-5 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43471 2026-06-19 15:13:16.785 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43471/resources/lesson001.json 2026-06-19 15:13:16.785 [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:43471/resources/lesson001.json. 2026-06-19 15:13:16.785 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43471/resources/lesson001.json 2026-06-19 15:13:16.788 [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:13:16.789 [DefaultDispatcher-worker-3 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-19 15:13:16.789 [DefaultDispatcher-worker-6 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43471/resources/lesson001.json 2026-06-19 15:13:16.790 [DefaultDispatcher-worker-7 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43471/resources/lesson001.json 2026-06-19 15:13:16.790 [DefaultDispatcher-worker-7 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43471/resources/lesson001.json 2026-06-19 15:13:16.792 [DefaultDispatcher-worker-7 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:43471/resources/lesson001.json. 2026-06-19 15:13:19.104 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:19.115 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.119 seconds. 2026-06-19 15:13:19.118 [DefaultDispatcher-worker-7 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39147 2026-06-19 15:13:19.130 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39147/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:19.131 [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:39147/api/school/respect/schoolpermissiongrant. 2026-06-19 15:13:19.131 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39147/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:19.139 [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:13:19.161 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39147/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:19.161 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39147/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:19.161 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39147/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:19.163 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39147/api/school/respect/schoolpermissiongrant. 2026-06-19 15:13:19.258 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.259 [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:39147/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:19.259 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.262 [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:13:19.296 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.296 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.296 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.298 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39147/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:19.306 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.307 [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:39147/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:19.307 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.309 [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:13:19.312 [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:13:19.313 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.314 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:19.314 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39147/api/school/respect/person?includeRelated=false 2026-06-19 15:13:21.430 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:21.430 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 15:13:21.431 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37519 2026-06-19 15:13:21.432 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37519/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:21.432 [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:37519/api/school/respect/schoolpermissiongrant. 2026-06-19 15:13:21.432 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37519/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:21.435 [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:13:21.437 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37519/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:21.437 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37519/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:21.437 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37519/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:21.437 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37519/api/school/respect/schoolpermissiongrant. 2026-06-19 15:13:21.492 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37519/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:13:21.492 [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:37519/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:13:21.492 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37519/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:13:21.494 [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:13:21.496 [DefaultDispatcher-worker-2 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37519/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:13:21.496 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37519/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:13:21.497 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37519/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:13:21.497 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37519/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:13:23.612 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:23.613 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 15:13:23.614 [DefaultDispatcher-worker-5 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44263 2026-06-19 15:13:23.616 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44263/api/school/respect/person?includeRelated=false 2026-06-19 15:13:23.616 [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:44263/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:23.617 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44263/api/school/respect/person?includeRelated=false 2026-06-19 15:13:23.619 [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:13:23.622 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44263/api/school/respect/person?includeRelated=false 2026-06-19 15:13:23.623 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44263/api/school/respect/person?includeRelated=false 2026-06-19 15:13:23.623 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44263/api/school/respect/person?includeRelated=false 2026-06-19 15:13:23.623 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44263/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:23.674 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44263/api/school/respect/person?since=2026-06-19T11%3A13%3A23.619780918Z&includeRelated=false 2026-06-19 15:13:23.674 [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:44263/api/school/respect/person?since=2026-06-19T11%3A13%3A23.619780918Z&includeRelated=false. 2026-06-19 15:13:23.674 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44263/api/school/respect/person?since=2026-06-19T11%3A13%3A23.619780918Z&includeRelated=false 2026-06-19 15:13:23.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:13:23.679 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44263/api/school/respect/person?since=2026-06-19T11%3A13%3A23.619780918Z&includeRelated=false 2026-06-19 15:13:23.679 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44263/api/school/respect/person?since=2026-06-19T11%3A13%3A23.619780918Z&includeRelated=false 2026-06-19 15:13:23.679 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44263/api/school/respect/person?since=2026-06-19T11%3A13%3A23.619780918Z&includeRelated=false 2026-06-19 15:13:23.679 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44263/api/school/respect/person?since=2026-06-19T11%3A13%3A23.619780918Z&includeRelated=false. 2026-06-19 15:13:25.797 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:25.799 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-19 15:13:25.800 [DefaultDispatcher-worker-6 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33859 2026-06-19 15:13:25.842 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33859/api/school/respect/person 2026-06-19 15:13:25.843 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@5c3777a0 for http://localhost:33859/api/school/respect/person 2026-06-19 15:13:25.843 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33859/api/school/respect/person 2026-06-19 15:13:25.843 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33859/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 15:13:25.846 [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:13:25.852 [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:13:25.853 [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 15:13:25.854 [DefaultDispatcher-worker-7 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33859/api/school/respect/person 2026-06-19 15:13:25.854 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33859/api/school/respect/person 2026-06-19 15:13:25.854 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33859/api/school/respect/person 2026-06-19 15:13:27.963 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:27.963 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-19 15:13:27.965 [DefaultDispatcher-worker-7 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34871 2026-06-19 15:13:27.965 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34871/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:27.965 [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:34871/api/school/respect/schoolpermissiongrant. 2026-06-19 15:13:27.965 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34871/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:27.968 [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:13:27.970 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34871/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:27.970 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34871/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:27.970 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34871/api/school/respect/schoolpermissiongrant 2026-06-19 15:13:27.971 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34871/api/school/respect/schoolpermissiongrant. 2026-06-19 15:13:28.019 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:28.019 [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:34871/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:28.019 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:28.021 [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:13:28.026 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:28.026 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:28.026 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:28.027 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34871/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:30.033 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:30.033 [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:34871/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:30.033 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:30.034 [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:13:30.037 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:30.037 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:30.037 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34871/api/school/respect/person?includeRelated=false 2026-06-19 15:13:30.038 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34871/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:32.171 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:32.172 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.063 seconds. 2026-06-19 15:13:32.173 [DefaultDispatcher-worker-7 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44585 2026-06-19 15:13:32.175 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44585/api/school/respect/person?includeRelated=false 2026-06-19 15:13:32.175 [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:44585/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:32.175 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44585/api/school/respect/person?includeRelated=false 2026-06-19 15:13:32.178 [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:13:32.181 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44585/api/school/respect/person?includeRelated=false 2026-06-19 15:13:32.181 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44585/api/school/respect/person?includeRelated=false 2026-06-19 15:13:32.181 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44585/api/school/respect/person?includeRelated=false 2026-06-19 15:13:32.182 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44585/api/school/respect/person?includeRelated=false. 2026-06-19 15:13:32.230 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44585/api/school/respect/person?since=2026-06-19T11%3A13%3A32.178288563Z&includeRelated=false 2026-06-19 15:13:32.231 [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:44585/api/school/respect/person?since=2026-06-19T11%3A13%3A32.178288563Z&includeRelated=false. 2026-06-19 15:13:32.231 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44585/api/school/respect/person?since=2026-06-19T11%3A13%3A32.178288563Z&includeRelated=false 2026-06-19 15:13:32.232 [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:13:32.234 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44585/api/school/respect/person?since=2026-06-19T11%3A13%3A32.178288563Z&includeRelated=false 2026-06-19 15:13:32.234 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44585/api/school/respect/person?since=2026-06-19T11%3A13%3A32.178288563Z&includeRelated=false 2026-06-19 15:13:32.234 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44585/api/school/respect/person?since=2026-06-19T11%3A13%3A32.178288563Z&includeRelated=false 2026-06-19 15:13:32.235 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44585/api/school/respect/person?since=2026-06-19T11%3A13%3A32.178288563Z&includeRelated=false. 2026-06-19 15:13:34.350 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:34.351 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-19 15:13:34.352 [DefaultDispatcher-worker-5 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35113 2026-06-19 15:13:34.354 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35113/playlist/7d4afeef-6476-4bd2-afcc-32f190a3186e 2026-06-19 15:13:34.354 [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:35113/playlist/7d4afeef-6476-4bd2-afcc-32f190a3186e. 2026-06-19 15:13:34.354 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35113/playlist/7d4afeef-6476-4bd2-afcc-32f190a3186e 2026-06-19 15:13:34.356 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 7d4afeef-6476-4bd2-afcc-32f190a3186e] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[7d4afeef-6476-4bd2-afcc-32f190a3186e]] @ /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=[7d4afeef-6476-4bd2-afcc-32f190a3186e]] @ /playlist/{uuid}/(method:GET) 2026-06-19 15:13:34.362 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35113/playlist/7d4afeef-6476-4bd2-afcc-32f190a3186e 2026-06-19 15:13:34.362 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35113/playlist/7d4afeef-6476-4bd2-afcc-32f190a3186e 2026-06-19 15:13:34.362 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35113/playlist/7d4afeef-6476-4bd2-afcc-32f190a3186e 2026-06-19 15:13:34.362 [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:35113/playlist/7d4afeef-6476-4bd2-afcc-32f190a3186e. 2026-06-19 15:13:36.522 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:36.523 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 15:13:36.524 [DefaultDispatcher-worker-2 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44239 2026-06-19 15:13:36.565 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44239/playlist/2b16b729-b99c-4c92-8778-a90a06d7896c 2026-06-19 15:13:36.565 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@50a57233 for http://localhost:44239/playlist/2b16b729-b99c-4c92-8778-a90a06d7896c 2026-06-19 15:13:36.565 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44239/playlist/2b16b729-b99c-4c92-8778-a90a06d7896c 2026-06-19 15:13:36.565 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44239/playlist/2b16b729-b99c-4c92-8778-a90a06d7896c from class io.ktor.http.content.TextContent 2026-06-19 15:13:36.568 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 2b16b729-b99c-4c92-8778-a90a06d7896c] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[2b16b729-b99c-4c92-8778-a90a06d7896c]] @ /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=[2b16b729-b99c-4c92-8778-a90a06d7896c]] @ /playlist/{uuid}/(method:POST) 2026-06-19 15:13:36.568 [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/2b16b729-b99c-4c92-8778-a90a06d7896c 2026-06-19 15:13:36.569 [DefaultDispatcher-worker-7 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/2b16b729-b99c-4c92-8778-a90a06d7896c request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:13:36.570 [DefaultDispatcher-worker-6 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44239/playlist/2b16b729-b99c-4c92-8778-a90a06d7896c 2026-06-19 15:13:36.570 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44239/playlist/2b16b729-b99c-4c92-8778-a90a06d7896c 2026-06-19 15:13:36.570 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44239/playlist/2b16b729-b99c-4c92-8778-a90a06d7896c 2026-06-19 15:13:38.701 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:38.702 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-19 15:13:38.703 [DefaultDispatcher-worker-6 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43353 2026-06-19 15:13:38.792 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43353/api/school/xapi/statements 2026-06-19 15:13:38.793 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2448ddb3 for http://localhost:43353/api/school/xapi/statements 2026-06-19 15:13:38.794 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43353/api/school/xapi/statements 2026-06-19 15:13:38.794 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:43353/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 15:13:38.796 [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:13:38.796 [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:13:38.806 [DefaultDispatcher-worker-6 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43353/api/school/xapi/statements 2026-06-19 15:13:38.806 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43353/api/school/xapi/statements 2026-06-19 15:13:38.806 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43353/api/school/xapi/statements 2026-06-19 15:13:38.806 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43353/api/school/xapi/statements. 2026-06-19 15:13:40.909 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:13:40.909 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-19 15:13:40.910 [DefaultDispatcher-worker-2 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46879 2026-06-19 15:13:40.958 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46879/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:13:40.958 [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:46879/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:13:40.958 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46879/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:13:40.961 [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:13:40.964 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46879/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:13:40.965 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46879/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:13:40.965 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46879/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:13:40.965 [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:46879/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:50:27.686 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:27.845 [Test worker] INFO io.ktor.server.Application - Application started in 0.332 seconds. 2026-06-19 15:50:27.956 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45631 2026-06-19 15:50:28.852 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45631/resources/index.json 2026-06-19 15:50:28.853 [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:45631/resources/index.json. 2026-06-19 15:50:28.854 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45631/resources/index.json 2026-06-19 15:50:29.058 [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:50:29.136 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 83ms 2026-06-19 15:50:29.141 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45631/resources/index.json 2026-06-19 15:50:29.144 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45631/resources/index.json 2026-06-19 15:50:29.144 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45631/resources/index.json 2026-06-19 15:50:29.172 [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:45631/resources/index.json. 2026-06-19 15:50:29.216 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45631/resources/index.json 2026-06-19 15:50:29.216 [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:45631/resources/index.json. 2026-06-19 15:50:29.217 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45631/resources/index.json 2026-06-19 15:50:29.219 [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:50:29.221 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-19 15:50:29.222 [DefaultDispatcher-worker-4 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45631/resources/index.json 2026-06-19 15:50:29.222 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45631/resources/index.json 2026-06-19 15:50:29.222 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45631/resources/index.json 2026-06-19 15:50:31.249 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:31.250 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 15:50:31.252 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36603 2026-06-19 15:50:31.344 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36603/resources/index.json 2026-06-19 15:50:31.344 [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:36603/resources/index.json. 2026-06-19 15:50:31.344 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36603/resources/index.json 2026-06-19 15:50:31.349 [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:50:31.352 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36603/resources/index.json 2026-06-19 15:50:31.352 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36603/resources/index.json 2026-06-19 15:50:31.352 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36603/resources/index.json 2026-06-19 15:50:31.353 [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:36603/resources/index.json. 2026-06-19 15:50:31.355 [DefaultDispatcher-worker-2 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 6ms 2026-06-19 15:50:31.363 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36603/resources/index.json 2026-06-19 15:50:31.363 [DefaultDispatcher-worker-3 @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:36603/resources/index.json. 2026-06-19 15:50:31.363 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36603/resources/index.json 2026-06-19 15:50:31.365 [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:50:31.366 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-19 15:50:31.368 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36603/resources/index.json 2026-06-19 15:50:31.368 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36603/resources/index.json 2026-06-19 15:50:31.368 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36603/resources/index.json 2026-06-19 15:50:33.379 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:33.380 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-19 15:50:33.381 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44935 2026-06-19 15:50:33.387 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44935/resources/lesson001.json 2026-06-19 15:50:33.387 [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:44935/resources/lesson001.json. 2026-06-19 15:50:33.387 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44935/resources/lesson001.json 2026-06-19 15:50:33.390 [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:50:33.392 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-19 15:50:33.392 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44935/resources/lesson001.json 2026-06-19 15:50:33.393 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44935/resources/lesson001.json 2026-06-19 15:50:33.393 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44935/resources/lesson001.json 2026-06-19 15:50:33.396 [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:44935/resources/lesson001.json. 2026-06-19 15:50:35.862 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:35.886 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.273 seconds. 2026-06-19 15:50:35.913 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43339 2026-06-19 15:50:35.959 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43339/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:35.959 [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:43339/api/school/respect/schoolpermissiongrant. 2026-06-19 15:50:35.959 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43339/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:36.013 [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:50:36.054 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43339/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:36.054 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43339/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:36.055 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43339/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:36.072 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43339/api/school/respect/schoolpermissiongrant. 2026-06-19 15:50:36.288 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.288 [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:43339/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:36.288 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.299 [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:50:36.394 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.394 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.394 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.401 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43339/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:36.420 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.420 [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:43339/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:36.420 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.424 [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:50:36.428 [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 15:50:36.430 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.430 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:36.430 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43339/api/school/respect/person?includeRelated=false 2026-06-19 15:50:38.594 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:38.595 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-19 15:50:38.597 [DefaultDispatcher-worker-5 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39923 2026-06-19 15:50:38.598 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39923/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:38.598 [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:39923/api/school/respect/schoolpermissiongrant. 2026-06-19 15:50:38.598 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39923/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:38.600 [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:50:38.602 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39923/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:38.602 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39923/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:38.602 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39923/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:38.602 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39923/api/school/respect/schoolpermissiongrant. 2026-06-19 15:50:38.649 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39923/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:50:38.650 [DefaultDispatcher-worker-3 @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:39923/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:50:38.650 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39923/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:50:38.651 [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:50:38.654 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39923/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:50:38.654 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39923/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:50:38.654 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39923/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-19 15:50:38.655 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39923/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-19 15:50:40.830 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:40.832 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.07 seconds. 2026-06-19 15:50:40.840 [DefaultDispatcher-worker-8 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35931 2026-06-19 15:50:40.844 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35931/api/school/respect/person?includeRelated=false 2026-06-19 15:50:40.844 [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:35931/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:40.845 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35931/api/school/respect/person?includeRelated=false 2026-06-19 15:50:40.877 [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:50:40.895 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35931/api/school/respect/person?includeRelated=false 2026-06-19 15:50:40.895 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35931/api/school/respect/person?includeRelated=false 2026-06-19 15:50:40.895 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35931/api/school/respect/person?includeRelated=false 2026-06-19 15:50:40.897 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35931/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:41.004 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35931/api/school/respect/person?since=2026-06-19T11%3A50%3A40.879825422Z&includeRelated=false 2026-06-19 15:50:41.004 [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:35931/api/school/respect/person?since=2026-06-19T11%3A50%3A40.879825422Z&includeRelated=false. 2026-06-19 15:50:41.004 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35931/api/school/respect/person?since=2026-06-19T11%3A50%3A40.879825422Z&includeRelated=false 2026-06-19 15:50:41.018 [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:50:41.034 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35931/api/school/respect/person?since=2026-06-19T11%3A50%3A40.879825422Z&includeRelated=false 2026-06-19 15:50:41.034 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35931/api/school/respect/person?since=2026-06-19T11%3A50%3A40.879825422Z&includeRelated=false 2026-06-19 15:50:41.034 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35931/api/school/respect/person?since=2026-06-19T11%3A50%3A40.879825422Z&includeRelated=false 2026-06-19 15:50:41.035 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35931/api/school/respect/person?since=2026-06-19T11%3A50%3A40.879825422Z&includeRelated=false. 2026-06-19 15:50:43.329 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:43.331 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.052 seconds. 2026-06-19 15:50:43.333 [DefaultDispatcher-worker-5 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36615 2026-06-19 15:50:43.448 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36615/api/school/respect/person 2026-06-19 15:50:43.448 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@435a64a9 for http://localhost:36615/api/school/respect/person 2026-06-19 15:50:43.448 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36615/api/school/respect/person 2026-06-19 15:50:43.448 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36615/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-19 15:50:43.472 [eventLoopGroupProxy-22-1 @call-handler#166] 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:50:43.498 [eventLoopGroupProxy-22-1 @call-handler#166] 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:50:43.502 [DefaultDispatcher-worker-1 @call-handler#166] 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:50:43.513 [DefaultDispatcher-worker-4 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36615/api/school/respect/person 2026-06-19 15:50:43.514 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36615/api/school/respect/person 2026-06-19 15:50:43.514 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36615/api/school/respect/person 2026-06-19 15:50:45.709 [Test worker @coroutine#171] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:45.710 [Test worker @coroutine#171] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-19 15:50:45.711 [DefaultDispatcher-worker-3 @coroutine#180] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44391 2026-06-19 15:50:45.712 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44391/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:45.712 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44391/api/school/respect/schoolpermissiongrant. 2026-06-19 15:50:45.712 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44391/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:45.715 [eventLoopGroupProxy-25-1 @call-handler#184] 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:50:45.718 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44391/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:45.718 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44391/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:45.718 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44391/api/school/respect/schoolpermissiongrant 2026-06-19 15:50:45.719 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44391/api/school/respect/schoolpermissiongrant. 2026-06-19 15:50:45.795 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:45.795 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44391/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:45.795 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:45.802 [eventLoopGroupProxy-25-1 @call-handler#190] 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:50:45.824 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:45.825 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:45.825 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:45.828 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44391/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:47.839 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:47.839 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44391/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:47.839 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:47.840 [eventLoopGroupProxy-25-1 @call-handler#197] 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:50:47.845 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:47.845 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:47.845 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44391/api/school/respect/person?includeRelated=false 2026-06-19 15:50:47.846 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44391/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:49.981 [Test worker @coroutine#203] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:49.982 [Test worker @coroutine#203] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-19 15:50:49.983 [DefaultDispatcher-worker-7 @coroutine#212] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40807 2026-06-19 15:50:49.985 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40807/api/school/respect/person?includeRelated=false 2026-06-19 15:50:49.986 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40807/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:49.986 [Test worker @coroutine#203] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40807/api/school/respect/person?includeRelated=false 2026-06-19 15:50:49.988 [eventLoopGroupProxy-28-1 @call-handler#217] 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:50:49.991 [Test worker @coroutine#203] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40807/api/school/respect/person?includeRelated=false 2026-06-19 15:50:49.992 [Test worker @coroutine#203] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40807/api/school/respect/person?includeRelated=false 2026-06-19 15:50:49.992 [Test worker @coroutine#203] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40807/api/school/respect/person?includeRelated=false 2026-06-19 15:50:49.993 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40807/api/school/respect/person?includeRelated=false. 2026-06-19 15:50:50.046 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40807/api/school/respect/person?since=2026-06-19T11%3A50%3A49.988686609Z&includeRelated=false 2026-06-19 15:50:50.046 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40807/api/school/respect/person?since=2026-06-19T11%3A50%3A49.988686609Z&includeRelated=false. 2026-06-19 15:50:50.046 [Test worker @coroutine#203] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40807/api/school/respect/person?since=2026-06-19T11%3A50%3A49.988686609Z&includeRelated=false 2026-06-19 15:50:50.048 [eventLoopGroupProxy-28-1 @call-handler#224] 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:50:50.054 [Test worker @coroutine#203] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40807/api/school/respect/person?since=2026-06-19T11%3A50%3A49.988686609Z&includeRelated=false 2026-06-19 15:50:50.054 [Test worker @coroutine#203] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40807/api/school/respect/person?since=2026-06-19T11%3A50%3A49.988686609Z&includeRelated=false 2026-06-19 15:50:50.054 [Test worker @coroutine#203] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40807/api/school/respect/person?since=2026-06-19T11%3A50%3A49.988686609Z&includeRelated=false 2026-06-19 15:50:50.055 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40807/api/school/respect/person?since=2026-06-19T11%3A50%3A49.988686609Z&includeRelated=false. 2026-06-19 15:50:52.171 [Test worker @coroutine#230] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:52.172 [Test worker @coroutine#230] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-19 15:50:52.173 [DefaultDispatcher-worker-7 @coroutine#240] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45147 2026-06-19 15:50:52.175 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45147/playlist/2952dcde-1cd5-4a4d-a2b9-4d9041bf403f 2026-06-19 15:50:52.175 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45147/playlist/2952dcde-1cd5-4a4d-a2b9-4d9041bf403f. 2026-06-19 15:50:52.175 [Test worker @coroutine#230] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45147/playlist/2952dcde-1cd5-4a4d-a2b9-4d9041bf403f 2026-06-19 15:50:52.178 [eventLoopGroupProxy-31-1 @call-handler#244] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 2952dcde-1cd5-4a4d-a2b9-4d9041bf403f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[2952dcde-1cd5-4a4d-a2b9-4d9041bf403f]] @ /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=[2952dcde-1cd5-4a4d-a2b9-4d9041bf403f]] @ /playlist/{uuid}/(method:GET) 2026-06-19 15:50:52.183 [Test worker @coroutine#230] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45147/playlist/2952dcde-1cd5-4a4d-a2b9-4d9041bf403f 2026-06-19 15:50:52.183 [Test worker @coroutine#230] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45147/playlist/2952dcde-1cd5-4a4d-a2b9-4d9041bf403f 2026-06-19 15:50:52.183 [Test worker @coroutine#230] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45147/playlist/2952dcde-1cd5-4a4d-a2b9-4d9041bf403f 2026-06-19 15:50:52.184 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:45147/playlist/2952dcde-1cd5-4a4d-a2b9-4d9041bf403f. 2026-06-19 15:50:54.487 [Test worker @coroutine#248] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:54.488 [Test worker @coroutine#248] INFO io.ktor.server.Application - Application started in 0.128 seconds. 2026-06-19 15:50:54.489 [DefaultDispatcher-worker-6 @coroutine#257] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36843 2026-06-19 15:50:54.597 [DefaultDispatcher-worker-8 @coroutine#255] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36843/playlist/2237f20d-a229-4570-8ff5-fafaed7da616 2026-06-19 15:50:54.598 [DefaultDispatcher-worker-8 @coroutine#255] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6337c356 for http://localhost:36843/playlist/2237f20d-a229-4570-8ff5-fafaed7da616 2026-06-19 15:50:54.598 [DefaultDispatcher-worker-8 @coroutine#255] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36843/playlist/2237f20d-a229-4570-8ff5-fafaed7da616 2026-06-19 15:50:54.598 [DefaultDispatcher-worker-8 @coroutine#255] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36843/playlist/2237f20d-a229-4570-8ff5-fafaed7da616 from class io.ktor.http.content.TextContent 2026-06-19 15:50:54.618 [eventLoopGroupProxy-34-1 @call-handler#265] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 2237f20d-a229-4570-8ff5-fafaed7da616] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[2237f20d-a229-4570-8ff5-fafaed7da616]] @ /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=[2237f20d-a229-4570-8ff5-fafaed7da616]] @ /playlist/{uuid}/(method:POST) 2026-06-19 15:50:54.618 [eventLoopGroupProxy-34-1 @call-handler#265] 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/2237f20d-a229-4570-8ff5-fafaed7da616 2026-06-19 15:50:54.620 [DefaultDispatcher-worker-8 @call-handler#265] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/2237f20d-a229-4570-8ff5-fafaed7da616 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-19 15:50:54.621 [DefaultDispatcher-worker-10 @coroutine#255] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36843/playlist/2237f20d-a229-4570-8ff5-fafaed7da616 2026-06-19 15:50:54.622 [DefaultDispatcher-worker-10 @coroutine#255] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36843/playlist/2237f20d-a229-4570-8ff5-fafaed7da616 2026-06-19 15:50:54.622 [DefaultDispatcher-worker-10 @coroutine#255] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36843/playlist/2237f20d-a229-4570-8ff5-fafaed7da616 2026-06-19 15:50:56.773 [Test worker @coroutine#270] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:56.775 [Test worker @coroutine#270] INFO io.ktor.server.Application - Application started in 0.058 seconds. 2026-06-19 15:50:56.778 [DefaultDispatcher-worker-5 @coroutine#279] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46179 2026-06-19 15:50:56.952 [DefaultDispatcher-worker-10 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46179/api/school/xapi/statements 2026-06-19 15:50:56.963 [DefaultDispatcher-worker-10 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2742d192 for http://localhost:46179/api/school/xapi/statements 2026-06-19 15:50:56.964 [DefaultDispatcher-worker-10 @coroutine#277] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46179/api/school/xapi/statements 2026-06-19 15:50:56.964 [DefaultDispatcher-worker-10 @coroutine#277] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46179/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-19 15:50:56.980 [eventLoopGroupProxy-37-1 @call-handler#289] 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:50:56.981 [eventLoopGroupProxy-37-1 @call-handler#289] 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:50:56.992 [DefaultDispatcher-worker-8 @coroutine#277] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46179/api/school/xapi/statements 2026-06-19 15:50:56.993 [DefaultDispatcher-worker-8 @coroutine#277] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46179/api/school/xapi/statements 2026-06-19 15:50:56.993 [DefaultDispatcher-worker-8 @coroutine#277] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46179/api/school/xapi/statements 2026-06-19 15:50:56.993 [DefaultDispatcher-worker-8 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46179/api/school/xapi/statements. 2026-06-19 15:50:59.175 [Test worker @coroutine#295] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-19 15:50:59.180 [Test worker @coroutine#295] INFO io.ktor.server.Application - Application started in 0.058 seconds. 2026-06-19 15:50:59.189 [DefaultDispatcher-worker-10 @coroutine#304] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34603 2026-06-19 15:50:59.271 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34603/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:50:59.271 [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:34603/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:50:59.271 [Test worker @coroutine#295] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34603/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:50:59.273 [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 15:50:59.284 [Test worker @coroutine#295] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34603/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:50:59.284 [Test worker @coroutine#295] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34603/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:50:59.284 [Test worker @coroutine#295] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34603/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:50:59.293 [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:34603/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false.