2026-06-16 03:10:31.575 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:31.700 [Test worker] INFO io.ktor.server.Application - Application started in 0.299 seconds. 2026-06-16 03:10:31.801 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37333 2026-06-16 03:10:32.556 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37333/resources/index.json 2026-06-16 03:10:32.557 [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:37333/resources/index.json. 2026-06-16 03:10:32.557 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37333/resources/index.json 2026-06-16 03:10:32.672 [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-16 03:10:32.720 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 53ms 2026-06-16 03:10:32.726 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37333/resources/index.json 2026-06-16 03:10:32.728 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37333/resources/index.json 2026-06-16 03:10:32.728 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37333/resources/index.json 2026-06-16 03:10:32.754 [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:37333/resources/index.json. 2026-06-16 03:10:32.792 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37333/resources/index.json 2026-06-16 03:10:32.792 [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:37333/resources/index.json. 2026-06-16 03:10:32.792 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37333/resources/index.json 2026-06-16 03:10:32.794 [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-16 03:10:32.796 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-16 03:10:32.797 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37333/resources/index.json 2026-06-16 03:10:32.797 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37333/resources/index.json 2026-06-16 03:10:32.797 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37333/resources/index.json 2026-06-16 03:10:34.812 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:34.812 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-16 03:10:34.814 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36233 2026-06-16 03:10:34.936 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36233/resources/index.json 2026-06-16 03:10:34.936 [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:36233/resources/index.json. 2026-06-16 03:10:34.936 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36233/resources/index.json 2026-06-16 03:10:34.939 [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-16 03:10:34.940 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-16 03:10:34.941 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36233/resources/index.json 2026-06-16 03:10:34.941 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36233/resources/index.json 2026-06-16 03:10:34.941 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36233/resources/index.json 2026-06-16 03:10:34.942 [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:36233/resources/index.json. 2026-06-16 03:10:34.946 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36233/resources/index.json 2026-06-16 03:10:34.946 [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:36233/resources/index.json. 2026-06-16 03:10:34.946 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36233/resources/index.json 2026-06-16 03:10:34.948 [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-16 03:10:34.948 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-16 03:10:34.948 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36233/resources/index.json 2026-06-16 03:10:34.949 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36233/resources/index.json 2026-06-16 03:10:34.949 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36233/resources/index.json 2026-06-16 03:10:36.956 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:36.956 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-16 03:10:36.957 [DefaultDispatcher-worker-2 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46675 2026-06-16 03:10:36.962 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46675/resources/lesson001.json 2026-06-16 03:10:36.962 [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:46675/resources/lesson001.json. 2026-06-16 03:10:36.962 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46675/resources/lesson001.json 2026-06-16 03:10:36.965 [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-16 03:10:36.966 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-16 03:10:36.966 [DefaultDispatcher-worker-4 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46675/resources/lesson001.json 2026-06-16 03:10:36.967 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46675/resources/lesson001.json 2026-06-16 03:10:36.967 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46675/resources/lesson001.json 2026-06-16 03:10:36.969 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:46675/resources/lesson001.json. 2026-06-16 03:10:39.200 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:39.207 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.102 seconds. 2026-06-16 03:10:39.209 [DefaultDispatcher-worker-4 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38841 2026-06-16 03:10:39.217 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38841/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:39.217 [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:38841/api/school/respect/schoolpermissiongrant. 2026-06-16 03:10:39.217 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38841/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:39.221 [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-16 03:10:39.234 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38841/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:39.234 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38841/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:39.235 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38841/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:39.236 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38841/api/school/respect/schoolpermissiongrant. 2026-06-16 03:10:39.309 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.309 [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:38841/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:39.309 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.311 [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-16 03:10:39.331 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.331 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.331 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.332 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38841/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:39.338 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.338 [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:38841/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:39.338 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.340 [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-16 03:10:39.342 [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-16 03:10:39.343 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.343 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:39.343 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38841/api/school/respect/person?includeRelated=false 2026-06-16 03:10:41.484 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:41.485 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.048 seconds. 2026-06-16 03:10:41.487 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45719 2026-06-16 03:10:41.488 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45719/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:41.488 [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:45719/api/school/respect/schoolpermissiongrant. 2026-06-16 03:10:41.488 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45719/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:41.491 [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-16 03:10:41.492 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45719/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:41.493 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45719/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:41.493 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45719/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:41.493 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45719/api/school/respect/schoolpermissiongrant. 2026-06-16 03:10:41.540 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45719/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 03:10:41.540 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45719/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 03:10:41.540 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45719/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 03:10:41.542 [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-16 03:10:41.544 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45719/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 03:10:41.544 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45719/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 03:10:41.545 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45719/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 03:10:41.545 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45719/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 03:10:43.645 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:43.646 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 03:10:43.647 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37509 2026-06-16 03:10:43.650 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37509/api/school/respect/person?includeRelated=false 2026-06-16 03:10:43.650 [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:37509/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:43.650 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37509/api/school/respect/person?includeRelated=false 2026-06-16 03:10:43.652 [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-16 03:10:43.656 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37509/api/school/respect/person?includeRelated=false 2026-06-16 03:10:43.656 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37509/api/school/respect/person?includeRelated=false 2026-06-16 03:10:43.656 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37509/api/school/respect/person?includeRelated=false 2026-06-16 03:10:43.657 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37509/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:43.708 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37509/api/school/respect/person?since=2026-06-15T23%3A10%3A43.653190338Z&includeRelated=false 2026-06-16 03:10:43.708 [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:37509/api/school/respect/person?since=2026-06-15T23%3A10%3A43.653190338Z&includeRelated=false. 2026-06-16 03:10:43.708 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37509/api/school/respect/person?since=2026-06-15T23%3A10%3A43.653190338Z&includeRelated=false 2026-06-16 03:10:43.709 [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-16 03:10:43.712 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37509/api/school/respect/person?since=2026-06-15T23%3A10%3A43.653190338Z&includeRelated=false 2026-06-16 03:10:43.712 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37509/api/school/respect/person?since=2026-06-15T23%3A10%3A43.653190338Z&includeRelated=false 2026-06-16 03:10:43.712 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37509/api/school/respect/person?since=2026-06-15T23%3A10%3A43.653190338Z&includeRelated=false 2026-06-16 03:10:43.713 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37509/api/school/respect/person?since=2026-06-15T23%3A10%3A43.653190338Z&includeRelated=false. 2026-06-16 03:10:45.825 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:45.826 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 03:10:45.827 [DefaultDispatcher-worker-2 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40453 2026-06-16 03:10:45.871 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40453/api/school/respect/person 2026-06-16 03:10:45.871 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2bca0ee for http://localhost:40453/api/school/respect/person 2026-06-16 03:10:45.871 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40453/api/school/respect/person 2026-06-16 03:10:45.872 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:40453/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-16 03:10:45.876 [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-16 03:10:45.882 [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-16 03:10:45.884 [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-16 03:10:45.885 [DefaultDispatcher-worker-2 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40453/api/school/respect/person 2026-06-16 03:10:45.885 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40453/api/school/respect/person 2026-06-16 03:10:45.885 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40453/api/school/respect/person 2026-06-16 03:10:48.008 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:48.009 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-16 03:10:48.010 [DefaultDispatcher-worker-3 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46363 2026-06-16 03:10:48.011 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46363/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:48.011 [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:46363/api/school/respect/schoolpermissiongrant. 2026-06-16 03:10:48.011 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46363/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:48.013 [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-16 03:10:48.015 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46363/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:48.015 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46363/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:48.015 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46363/api/school/respect/schoolpermissiongrant 2026-06-16 03:10:48.016 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46363/api/school/respect/schoolpermissiongrant. 2026-06-16 03:10:48.057 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:48.057 [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:46363/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:48.058 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:48.059 [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-16 03:10:48.064 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:48.064 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:48.064 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:48.064 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46363/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:50.070 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:50.070 [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:46363/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:50.070 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:50.071 [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-16 03:10:50.074 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:50.074 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:50.074 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46363/api/school/respect/person?includeRelated=false 2026-06-16 03:10:50.075 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46363/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:52.175 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:52.176 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 03:10:52.177 [DefaultDispatcher-worker-4 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37373 2026-06-16 03:10:52.179 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37373/api/school/respect/person?includeRelated=false 2026-06-16 03:10:52.179 [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:37373/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:52.179 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37373/api/school/respect/person?includeRelated=false 2026-06-16 03:10:52.181 [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-16 03:10:52.185 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37373/api/school/respect/person?includeRelated=false 2026-06-16 03:10:52.185 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37373/api/school/respect/person?includeRelated=false 2026-06-16 03:10:52.185 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37373/api/school/respect/person?includeRelated=false 2026-06-16 03:10:52.186 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37373/api/school/respect/person?includeRelated=false. 2026-06-16 03:10:52.228 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37373/api/school/respect/person?since=2026-06-15T23%3A10%3A52.182257247Z&includeRelated=false 2026-06-16 03:10:52.228 [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:37373/api/school/respect/person?since=2026-06-15T23%3A10%3A52.182257247Z&includeRelated=false. 2026-06-16 03:10:52.228 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37373/api/school/respect/person?since=2026-06-15T23%3A10%3A52.182257247Z&includeRelated=false 2026-06-16 03:10:52.229 [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-16 03:10:52.232 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37373/api/school/respect/person?since=2026-06-15T23%3A10%3A52.182257247Z&includeRelated=false 2026-06-16 03:10:52.232 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37373/api/school/respect/person?since=2026-06-15T23%3A10%3A52.182257247Z&includeRelated=false 2026-06-16 03:10:52.232 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37373/api/school/respect/person?since=2026-06-15T23%3A10%3A52.182257247Z&includeRelated=false 2026-06-16 03:10:52.233 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37373/api/school/respect/person?since=2026-06-15T23%3A10%3A52.182257247Z&includeRelated=false. 2026-06-16 03:10:54.335 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:54.337 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-16 03:10:54.338 [DefaultDispatcher-worker-1 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34883 2026-06-16 03:10:54.339 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34883/playlist/063ddf92-8c55-4a19-adba-14f0239f19a1 2026-06-16 03:10:54.340 [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:34883/playlist/063ddf92-8c55-4a19-adba-14f0239f19a1. 2026-06-16 03:10:54.340 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34883/playlist/063ddf92-8c55-4a19-adba-14f0239f19a1 2026-06-16 03:10:54.342 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 063ddf92-8c55-4a19-adba-14f0239f19a1] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[063ddf92-8c55-4a19-adba-14f0239f19a1]] @ /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=[063ddf92-8c55-4a19-adba-14f0239f19a1]] @ /playlist/{uuid}/(method:GET) 2026-06-16 03:10:54.347 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34883/playlist/063ddf92-8c55-4a19-adba-14f0239f19a1 2026-06-16 03:10:54.347 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34883/playlist/063ddf92-8c55-4a19-adba-14f0239f19a1 2026-06-16 03:10:54.347 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34883/playlist/063ddf92-8c55-4a19-adba-14f0239f19a1 2026-06-16 03:10:54.348 [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:34883/playlist/063ddf92-8c55-4a19-adba-14f0239f19a1. 2026-06-16 03:10:56.530 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:56.531 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 03:10:56.532 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44397 2026-06-16 03:10:56.573 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44397/playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd 2026-06-16 03:10:56.573 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@1c4080b5 for http://localhost:44397/playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd 2026-06-16 03:10:56.573 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44397/playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd 2026-06-16 03:10:56.573 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44397/playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd from class io.ktor.http.content.TextContent 2026-06-16 03:10:56.576 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 1eeee8db-f910-4cfb-a48b-1d41918ed9bd] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[1eeee8db-f910-4cfb-a48b-1d41918ed9bd]] @ /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=[1eeee8db-f910-4cfb-a48b-1d41918ed9bd]] @ /playlist/{uuid}/(method:POST) 2026-06-16 03:10:56.576 [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/1eeee8db-f910-4cfb-a48b-1d41918ed9bd 2026-06-16 03:10:56.577 [DefaultDispatcher-worker-5 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-16 03:10:56.578 [DefaultDispatcher-worker-7 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44397/playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd 2026-06-16 03:10:56.578 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44397/playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd 2026-06-16 03:10:56.578 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44397/playlist/1eeee8db-f910-4cfb-a48b-1d41918ed9bd 2026-06-16 03:10:58.688 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:10:58.690 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 03:10:58.691 [DefaultDispatcher-worker-2 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42465 2026-06-16 03:10:58.771 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42465/api/school/xapi/statements 2026-06-16 03:10:58.773 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@37cb843e for http://localhost:42465/api/school/xapi/statements 2026-06-16 03:10:58.773 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42465/api/school/xapi/statements 2026-06-16 03:10:58.773 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:42465/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-16 03:10:58.775 [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-16 03:10:58.776 [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-16 03:10:58.787 [DefaultDispatcher-worker-1 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42465/api/school/xapi/statements 2026-06-16 03:10:58.787 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42465/api/school/xapi/statements 2026-06-16 03:10:58.787 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42465/api/school/xapi/statements 2026-06-16 03:10:58.787 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42465/api/school/xapi/statements. 2026-06-16 03:11:00.900 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 03:11:00.900 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 03:11:00.901 [DefaultDispatcher-worker-2 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38203 2026-06-16 03:11:00.949 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38203/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 03:11:00.949 [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:38203/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 03:11:00.949 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38203/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 03:11:00.952 [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-16 03:11:00.955 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38203/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 03:11:00.955 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38203/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 03:11:00.955 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38203/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 03:11:00.956 [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:38203/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 11:41:38.681 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:38.840 [Test worker] INFO io.ktor.server.Application - Application started in 0.365 seconds. 2026-06-16 11:41:38.947 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46471 2026-06-16 11:41:40.246 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46471/resources/index.json 2026-06-16 11:41:40.247 [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:46471/resources/index.json. 2026-06-16 11:41:40.248 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46471/resources/index.json 2026-06-16 11:41:40.497 [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-16 11:41:40.639 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 155ms 2026-06-16 11:41:40.646 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46471/resources/index.json 2026-06-16 11:41:40.655 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46471/resources/index.json 2026-06-16 11:41:40.656 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46471/resources/index.json 2026-06-16 11:41:40.711 [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:46471/resources/index.json. 2026-06-16 11:41:40.778 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46471/resources/index.json 2026-06-16 11:41:40.779 [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:46471/resources/index.json. 2026-06-16 11:41:40.779 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46471/resources/index.json 2026-06-16 11:41:40.784 [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-16 11:41:40.786 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 3ms 2026-06-16 11:41:40.788 [DefaultDispatcher-worker-3 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46471/resources/index.json 2026-06-16 11:41:40.789 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46471/resources/index.json 2026-06-16 11:41:40.789 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46471/resources/index.json 2026-06-16 11:41:42.865 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:42.866 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-16 11:41:42.870 [DefaultDispatcher-worker-3 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44165 2026-06-16 11:41:42.980 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44165/resources/index.json 2026-06-16 11:41:42.981 [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:44165/resources/index.json. 2026-06-16 11:41:42.981 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44165/resources/index.json 2026-06-16 11:41:43.005 [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-16 11:41:43.022 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 17ms 2026-06-16 11:41:43.024 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44165/resources/index.json 2026-06-16 11:41:43.024 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44165/resources/index.json 2026-06-16 11:41:43.024 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44165/resources/index.json 2026-06-16 11:41:43.029 [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:44165/resources/index.json. 2026-06-16 11:41:43.048 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44165/resources/index.json 2026-06-16 11:41:43.048 [DefaultDispatcher-worker-6 @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:44165/resources/index.json. 2026-06-16 11:41:43.048 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44165/resources/index.json 2026-06-16 11:41:43.071 [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-16 11:41:43.072 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-16 11:41:43.082 [DefaultDispatcher-worker-2 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44165/resources/index.json 2026-06-16 11:41:43.083 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44165/resources/index.json 2026-06-16 11:41:43.083 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44165/resources/index.json 2026-06-16 11:41:45.155 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:45.156 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-16 11:41:45.157 [DefaultDispatcher-worker-2 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38765 2026-06-16 11:41:45.164 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38765/resources/lesson001.json 2026-06-16 11:41:45.164 [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:38765/resources/lesson001.json. 2026-06-16 11:41:45.164 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38765/resources/lesson001.json 2026-06-16 11:41:45.169 [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-16 11:41:45.171 [DefaultDispatcher-worker-7 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-16 11:41:45.172 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38765/resources/lesson001.json 2026-06-16 11:41:45.172 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38765/resources/lesson001.json 2026-06-16 11:41:45.172 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38765/resources/lesson001.json 2026-06-16 11:41:45.175 [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:38765/resources/lesson001.json. 2026-06-16 11:41:47.633 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:47.670 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.312 seconds. 2026-06-16 11:41:47.686 [DefaultDispatcher-worker-7 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33479 2026-06-16 11:41:47.716 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33479/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:47.717 [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:33479/api/school/respect/schoolpermissiongrant. 2026-06-16 11:41:47.718 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33479/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:47.745 [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-16 11:41:47.782 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33479/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:47.782 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33479/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:47.782 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33479/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:47.795 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33479/api/school/respect/schoolpermissiongrant. 2026-06-16 11:41:47.980 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:47.980 [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:33479/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:47.980 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:47.986 [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-16 11:41:48.077 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:48.080 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:48.080 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:48.082 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33479/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:48.102 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:48.105 [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:33479/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:48.105 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:48.118 [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-16 11:41:48.126 [DefaultDispatcher-worker-9 @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-16 11:41:48.128 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:48.128 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:48.128 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33479/api/school/respect/person?includeRelated=false 2026-06-16 11:41:50.364 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:50.370 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.079 seconds. 2026-06-16 11:41:50.378 [DefaultDispatcher-worker-5 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45297 2026-06-16 11:41:50.379 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45297/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:50.379 [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:45297/api/school/respect/schoolpermissiongrant. 2026-06-16 11:41:50.379 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45297/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:50.393 [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-16 11:41:50.398 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45297/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:50.398 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45297/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:50.399 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45297/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:50.403 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45297/api/school/respect/schoolpermissiongrant. 2026-06-16 11:41:50.495 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45297/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 11:41:50.495 [DefaultDispatcher-worker-9 @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:45297/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 11:41:50.495 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45297/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 11:41:50.501 [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-16 11:41:50.510 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45297/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 11:41:50.511 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45297/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 11:41:50.511 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45297/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 11:41:50.514 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45297/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 11:41:52.744 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:52.750 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.067 seconds. 2026-06-16 11:41:52.756 [DefaultDispatcher-worker-9 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46701 2026-06-16 11:41:52.767 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46701/api/school/respect/person?includeRelated=false 2026-06-16 11:41:52.768 [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:46701/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:52.768 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46701/api/school/respect/person?includeRelated=false 2026-06-16 11:41:52.779 [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-16 11:41:52.792 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46701/api/school/respect/person?includeRelated=false 2026-06-16 11:41:52.793 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46701/api/school/respect/person?includeRelated=false 2026-06-16 11:41:52.793 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46701/api/school/respect/person?includeRelated=false 2026-06-16 11:41:52.798 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46701/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:52.926 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46701/api/school/respect/person?since=2026-06-16T07%3A41%3A52.782712482Z&includeRelated=false 2026-06-16 11:41:52.926 [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:46701/api/school/respect/person?since=2026-06-16T07%3A41%3A52.782712482Z&includeRelated=false. 2026-06-16 11:41:52.926 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46701/api/school/respect/person?since=2026-06-16T07%3A41%3A52.782712482Z&includeRelated=false 2026-06-16 11:41:52.934 [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-16 11:41:52.940 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46701/api/school/respect/person?since=2026-06-16T07%3A41%3A52.782712482Z&includeRelated=false 2026-06-16 11:41:52.941 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46701/api/school/respect/person?since=2026-06-16T07%3A41%3A52.782712482Z&includeRelated=false 2026-06-16 11:41:52.941 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46701/api/school/respect/person?since=2026-06-16T07%3A41%3A52.782712482Z&includeRelated=false 2026-06-16 11:41:52.942 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46701/api/school/respect/person?since=2026-06-16T07%3A41%3A52.782712482Z&includeRelated=false. 2026-06-16 11:41:55.164 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:55.169 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.056 seconds. 2026-06-16 11:41:55.185 [DefaultDispatcher-worker-2 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42871 2026-06-16 11:41:55.281 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42871/api/school/respect/person 2026-06-16 11:41:55.282 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@70d2c1bb for http://localhost:42871/api/school/respect/person 2026-06-16 11:41:55.282 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42871/api/school/respect/person 2026-06-16 11:41:55.282 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:42871/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-16 11:41:55.297 [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-16 11:41:55.324 [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-16 11:41:55.327 [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-16 11:41:55.329 [DefaultDispatcher-worker-6 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42871/api/school/respect/person 2026-06-16 11:41:55.332 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42871/api/school/respect/person 2026-06-16 11:41:55.333 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42871/api/school/respect/person 2026-06-16 11:41:57.504 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:41:57.506 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.05 seconds. 2026-06-16 11:41:57.514 [DefaultDispatcher-worker-7 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33725 2026-06-16 11:41:57.515 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33725/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:57.515 [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:33725/api/school/respect/schoolpermissiongrant. 2026-06-16 11:41:57.515 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33725/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:57.527 [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-16 11:41:57.533 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33725/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:57.533 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33725/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:57.533 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33725/api/school/respect/schoolpermissiongrant 2026-06-16 11:41:57.534 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33725/api/school/respect/schoolpermissiongrant. 2026-06-16 11:41:57.600 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:57.601 [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:33725/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:57.601 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:57.612 [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-16 11:41:57.629 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:57.630 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:57.630 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:57.632 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33725/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:59.656 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:59.657 [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:33725/api/school/respect/person?includeRelated=false. 2026-06-16 11:41:59.657 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:59.662 [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-16 11:41:59.671 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:59.672 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:59.673 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33725/api/school/respect/person?includeRelated=false 2026-06-16 11:41:59.675 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33725/api/school/respect/person?includeRelated=false. 2026-06-16 11:42:01.883 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:42:01.885 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.058 seconds. 2026-06-16 11:42:01.895 [DefaultDispatcher-worker-7 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43917 2026-06-16 11:42:01.905 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43917/api/school/respect/person?includeRelated=false 2026-06-16 11:42:01.905 [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:43917/api/school/respect/person?includeRelated=false. 2026-06-16 11:42:01.905 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43917/api/school/respect/person?includeRelated=false 2026-06-16 11:42:01.924 [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-16 11:42:01.947 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43917/api/school/respect/person?includeRelated=false 2026-06-16 11:42:01.947 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43917/api/school/respect/person?includeRelated=false 2026-06-16 11:42:01.947 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43917/api/school/respect/person?includeRelated=false 2026-06-16 11:42:01.948 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43917/api/school/respect/person?includeRelated=false. 2026-06-16 11:42:02.011 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43917/api/school/respect/person?since=2026-06-16T07%3A42%3A01.931026583Z&includeRelated=false 2026-06-16 11:42:02.011 [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:43917/api/school/respect/person?since=2026-06-16T07%3A42%3A01.931026583Z&includeRelated=false. 2026-06-16 11:42:02.011 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43917/api/school/respect/person?since=2026-06-16T07%3A42%3A01.931026583Z&includeRelated=false 2026-06-16 11:42:02.014 [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-16 11:42:02.023 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43917/api/school/respect/person?since=2026-06-16T07%3A42%3A01.931026583Z&includeRelated=false 2026-06-16 11:42:02.024 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43917/api/school/respect/person?since=2026-06-16T07%3A42%3A01.931026583Z&includeRelated=false 2026-06-16 11:42:02.025 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43917/api/school/respect/person?since=2026-06-16T07%3A42%3A01.931026583Z&includeRelated=false 2026-06-16 11:42:02.028 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43917/api/school/respect/person?since=2026-06-16T07%3A42%3A01.931026583Z&includeRelated=false. 2026-06-16 11:42:04.276 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:42:04.279 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.081 seconds. 2026-06-16 11:42:04.287 [DefaultDispatcher-worker-10 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39609 2026-06-16 11:42:04.295 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39609/playlist/2a71eb56-f888-41d4-b13c-9d8929e6245f 2026-06-16 11:42:04.295 [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:39609/playlist/2a71eb56-f888-41d4-b13c-9d8929e6245f. 2026-06-16 11:42:04.295 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39609/playlist/2a71eb56-f888-41d4-b13c-9d8929e6245f 2026-06-16 11:42:04.305 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 2a71eb56-f888-41d4-b13c-9d8929e6245f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[2a71eb56-f888-41d4-b13c-9d8929e6245f]] @ /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=[2a71eb56-f888-41d4-b13c-9d8929e6245f]] @ /playlist/{uuid}/(method:GET) 2026-06-16 11:42:04.320 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39609/playlist/2a71eb56-f888-41d4-b13c-9d8929e6245f 2026-06-16 11:42:04.320 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39609/playlist/2a71eb56-f888-41d4-b13c-9d8929e6245f 2026-06-16 11:42:04.320 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39609/playlist/2a71eb56-f888-41d4-b13c-9d8929e6245f 2026-06-16 11:42:04.324 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:39609/playlist/2a71eb56-f888-41d4-b13c-9d8929e6245f. 2026-06-16 11:42:06.568 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:42:06.571 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.054 seconds. 2026-06-16 11:42:06.581 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38699 2026-06-16 11:42:06.630 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38699/playlist/242f110a-c102-4fcc-84cc-add9e9895909 2026-06-16 11:42:06.630 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@1257d940 for http://localhost:38699/playlist/242f110a-c102-4fcc-84cc-add9e9895909 2026-06-16 11:42:06.631 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38699/playlist/242f110a-c102-4fcc-84cc-add9e9895909 2026-06-16 11:42:06.631 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38699/playlist/242f110a-c102-4fcc-84cc-add9e9895909 from class io.ktor.http.content.TextContent 2026-06-16 11:42:06.648 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 242f110a-c102-4fcc-84cc-add9e9895909] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[242f110a-c102-4fcc-84cc-add9e9895909]] @ /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=[242f110a-c102-4fcc-84cc-add9e9895909]] @ /playlist/{uuid}/(method:POST) 2026-06-16 11:42:06.649 [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/242f110a-c102-4fcc-84cc-add9e9895909 2026-06-16 11:42:06.652 [DefaultDispatcher-worker-2 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/242f110a-c102-4fcc-84cc-add9e9895909 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-16 11:42:06.654 [DefaultDispatcher-worker-5 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38699/playlist/242f110a-c102-4fcc-84cc-add9e9895909 2026-06-16 11:42:06.655 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38699/playlist/242f110a-c102-4fcc-84cc-add9e9895909 2026-06-16 11:42:06.655 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38699/playlist/242f110a-c102-4fcc-84cc-add9e9895909 2026-06-16 11:42:08.903 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:42:08.906 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.065 seconds. 2026-06-16 11:42:08.918 [DefaultDispatcher-worker-9 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33425 2026-06-16 11:42:09.115 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33425/api/school/xapi/statements 2026-06-16 11:42:09.119 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@7bceabdb for http://localhost:33425/api/school/xapi/statements 2026-06-16 11:42:09.120 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33425/api/school/xapi/statements 2026-06-16 11:42:09.120 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33425/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-16 11:42:09.125 [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-16 11:42:09.126 [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-16 11:42:09.166 [DefaultDispatcher-worker-9 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33425/api/school/xapi/statements 2026-06-16 11:42:09.166 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33425/api/school/xapi/statements 2026-06-16 11:42:09.166 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33425/api/school/xapi/statements 2026-06-16 11:42:09.166 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33425/api/school/xapi/statements. 2026-06-16 11:42:11.270 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 11:42:11.270 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 11:42:11.272 [DefaultDispatcher-worker-6 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37965 2026-06-16 11:42:11.323 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37965/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 11:42:11.324 [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:37965/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 11:42:11.324 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37965/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 11:42:11.326 [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-16 11:42:11.331 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37965/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 11:42:11.332 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37965/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 11:42:11.332 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37965/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 11:42:11.332 [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:37965/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 12:12:19.886 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:19.978 [Test worker] INFO io.ktor.server.Application - Application started in 0.22 seconds. 2026-06-16 12:12:20.048 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41461 2026-06-16 12:12:20.792 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41461/resources/index.json 2026-06-16 12:12:20.792 [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:41461/resources/index.json. 2026-06-16 12:12:20.793 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41461/resources/index.json 2026-06-16 12:12:20.898 [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-16 12:12:20.938 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 44ms 2026-06-16 12:12:20.943 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41461/resources/index.json 2026-06-16 12:12:20.945 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41461/resources/index.json 2026-06-16 12:12:20.945 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41461/resources/index.json 2026-06-16 12:12:20.965 [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:41461/resources/index.json. 2026-06-16 12:12:21.001 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41461/resources/index.json 2026-06-16 12:12:21.002 [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:41461/resources/index.json. 2026-06-16 12:12:21.002 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41461/resources/index.json 2026-06-16 12:12:21.004 [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-16 12:12:21.006 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-16 12:12:21.006 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41461/resources/index.json 2026-06-16 12:12:21.007 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41461/resources/index.json 2026-06-16 12:12:21.007 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41461/resources/index.json 2026-06-16 12:12:23.021 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:23.022 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-16 12:12:23.023 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46377 2026-06-16 12:12:23.067 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46377/resources/index.json 2026-06-16 12:12:23.067 [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:46377/resources/index.json. 2026-06-16 12:12:23.067 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46377/resources/index.json 2026-06-16 12:12:23.070 [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-16 12:12:23.071 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-16 12:12:23.072 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46377/resources/index.json 2026-06-16 12:12:23.072 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46377/resources/index.json 2026-06-16 12:12:23.072 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46377/resources/index.json 2026-06-16 12:12:23.072 [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:46377/resources/index.json. 2026-06-16 12:12:23.077 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46377/resources/index.json 2026-06-16 12:12:23.077 [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:46377/resources/index.json. 2026-06-16 12:12:23.077 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46377/resources/index.json 2026-06-16 12:12:23.078 [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-16 12:12:23.078 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms 2026-06-16 12:12:23.079 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46377/resources/index.json 2026-06-16 12:12:23.079 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46377/resources/index.json 2026-06-16 12:12:23.079 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46377/resources/index.json 2026-06-16 12:12:25.086 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:25.086 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-16 12:12:25.087 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37689 2026-06-16 12:12:25.092 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37689/resources/lesson001.json 2026-06-16 12:12:25.093 [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:37689/resources/lesson001.json. 2026-06-16 12:12:25.093 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37689/resources/lesson001.json 2026-06-16 12:12:25.095 [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-16 12:12:25.096 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-16 12:12:25.097 [DefaultDispatcher-worker-1 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37689/resources/lesson001.json 2026-06-16 12:12:25.097 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37689/resources/lesson001.json 2026-06-16 12:12:25.097 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37689/resources/lesson001.json 2026-06-16 12:12:25.099 [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:37689/resources/lesson001.json. 2026-06-16 12:12:27.332 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:27.339 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.1 seconds. 2026-06-16 12:12:27.341 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33157 2026-06-16 12:12:27.349 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33157/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:27.350 [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:33157/api/school/respect/schoolpermissiongrant. 2026-06-16 12:12:27.350 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33157/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:27.354 [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-16 12:12:27.367 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33157/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:27.367 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33157/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:27.367 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33157/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:27.368 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33157/api/school/respect/schoolpermissiongrant. 2026-06-16 12:12:27.438 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.439 [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:33157/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:27.439 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.441 [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-16 12:12:27.459 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.460 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.460 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.461 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33157/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:27.467 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.467 [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:33157/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:27.467 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.469 [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-16 12:12:27.471 [DefaultDispatcher-worker-2 @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-16 12:12:27.472 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.472 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:27.472 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33157/api/school/respect/person?includeRelated=false 2026-06-16 12:12:29.666 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:29.667 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.118 seconds. 2026-06-16 12:12:29.668 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43699 2026-06-16 12:12:29.669 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43699/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:29.669 [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:43699/api/school/respect/schoolpermissiongrant. 2026-06-16 12:12:29.669 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43699/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:29.671 [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-16 12:12:29.673 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43699/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:29.674 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43699/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:29.674 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43699/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:29.674 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43699/api/school/respect/schoolpermissiongrant. 2026-06-16 12:12:29.752 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 12:12:29.753 [DefaultDispatcher-worker-1 @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:43699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 12:12:29.753 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 12:12:29.754 [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-16 12:12:29.757 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 12:12:29.757 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 12:12:29.757 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 12:12:29.758 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43699/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 12:12:31.873 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:31.874 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 12:12:31.875 [DefaultDispatcher-worker-2 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40865 2026-06-16 12:12:31.878 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40865/api/school/respect/person?includeRelated=false 2026-06-16 12:12:31.878 [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:40865/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:31.878 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40865/api/school/respect/person?includeRelated=false 2026-06-16 12:12:31.880 [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-16 12:12:31.883 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40865/api/school/respect/person?includeRelated=false 2026-06-16 12:12:31.884 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40865/api/school/respect/person?includeRelated=false 2026-06-16 12:12:31.884 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40865/api/school/respect/person?includeRelated=false 2026-06-16 12:12:31.884 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40865/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:31.936 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40865/api/school/respect/person?since=2026-06-16T08%3A12%3A31.880810009Z&includeRelated=false 2026-06-16 12:12:31.936 [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:40865/api/school/respect/person?since=2026-06-16T08%3A12%3A31.880810009Z&includeRelated=false. 2026-06-16 12:12:31.936 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40865/api/school/respect/person?since=2026-06-16T08%3A12%3A31.880810009Z&includeRelated=false 2026-06-16 12:12:31.938 [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-16 12:12:31.940 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40865/api/school/respect/person?since=2026-06-16T08%3A12%3A31.880810009Z&includeRelated=false 2026-06-16 12:12:31.941 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40865/api/school/respect/person?since=2026-06-16T08%3A12%3A31.880810009Z&includeRelated=false 2026-06-16 12:12:31.941 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40865/api/school/respect/person?since=2026-06-16T08%3A12%3A31.880810009Z&includeRelated=false 2026-06-16 12:12:31.941 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40865/api/school/respect/person?since=2026-06-16T08%3A12%3A31.880810009Z&includeRelated=false. 2026-06-16 12:12:34.052 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:34.053 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 12:12:34.055 [DefaultDispatcher-worker-4 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36601 2026-06-16 12:12:34.100 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36601/api/school/respect/person 2026-06-16 12:12:34.100 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@60e57e8 for http://localhost:36601/api/school/respect/person 2026-06-16 12:12:34.100 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36601/api/school/respect/person 2026-06-16 12:12:34.100 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36601/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-16 12:12:34.103 [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-16 12:12:34.109 [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-16 12:12:34.110 [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-16 12:12:34.111 [DefaultDispatcher-worker-4 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36601/api/school/respect/person 2026-06-16 12:12:34.111 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36601/api/school/respect/person 2026-06-16 12:12:34.111 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36601/api/school/respect/person 2026-06-16 12:12:36.233 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:36.234 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-16 12:12:36.235 [DefaultDispatcher-worker-5 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36119 2026-06-16 12:12:36.236 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36119/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:36.236 [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:36119/api/school/respect/schoolpermissiongrant. 2026-06-16 12:12:36.236 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36119/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:36.239 [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-16 12:12:36.240 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36119/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:36.240 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36119/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:36.240 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36119/api/school/respect/schoolpermissiongrant 2026-06-16 12:12:36.241 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36119/api/school/respect/schoolpermissiongrant. 2026-06-16 12:12:36.283 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:36.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:36119/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:36.283 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:36.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-16 12:12:36.289 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:36.289 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:36.289 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:36.290 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36119/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:38.295 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:38.295 [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:36119/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:38.295 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:38.296 [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-16 12:12:38.300 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:38.300 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:38.300 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36119/api/school/respect/person?includeRelated=false 2026-06-16 12:12:38.300 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36119/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:40.535 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:40.535 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.113 seconds. 2026-06-16 12:12:40.536 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34259 2026-06-16 12:12:40.539 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34259/api/school/respect/person?includeRelated=false 2026-06-16 12:12:40.539 [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:34259/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:40.539 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34259/api/school/respect/person?includeRelated=false 2026-06-16 12:12:40.541 [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-16 12:12:40.545 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34259/api/school/respect/person?includeRelated=false 2026-06-16 12:12:40.545 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34259/api/school/respect/person?includeRelated=false 2026-06-16 12:12:40.545 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34259/api/school/respect/person?includeRelated=false 2026-06-16 12:12:40.546 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34259/api/school/respect/person?includeRelated=false. 2026-06-16 12:12:40.655 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34259/api/school/respect/person?since=2026-06-16T08%3A12%3A40.542175242Z&includeRelated=false 2026-06-16 12:12:40.656 [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:34259/api/school/respect/person?since=2026-06-16T08%3A12%3A40.542175242Z&includeRelated=false. 2026-06-16 12:12:40.656 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34259/api/school/respect/person?since=2026-06-16T08%3A12%3A40.542175242Z&includeRelated=false 2026-06-16 12:12:40.657 [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-16 12:12:40.660 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34259/api/school/respect/person?since=2026-06-16T08%3A12%3A40.542175242Z&includeRelated=false 2026-06-16 12:12:40.660 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34259/api/school/respect/person?since=2026-06-16T08%3A12%3A40.542175242Z&includeRelated=false 2026-06-16 12:12:40.660 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34259/api/school/respect/person?since=2026-06-16T08%3A12%3A40.542175242Z&includeRelated=false 2026-06-16 12:12:40.661 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34259/api/school/respect/person?since=2026-06-16T08%3A12%3A40.542175242Z&includeRelated=false. 2026-06-16 12:12:42.777 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:42.779 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-16 12:12:42.780 [DefaultDispatcher-worker-1 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33467 2026-06-16 12:12:42.781 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33467/playlist/aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d 2026-06-16 12:12:42.781 [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:33467/playlist/aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d. 2026-06-16 12:12:42.781 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33467/playlist/aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d 2026-06-16 12:12:42.784 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d]] @ /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=[aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d]] @ /playlist/{uuid}/(method:GET) 2026-06-16 12:12:42.789 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33467/playlist/aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d 2026-06-16 12:12:42.790 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33467/playlist/aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d 2026-06-16 12:12:42.790 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33467/playlist/aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d 2026-06-16 12:12:42.790 [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:33467/playlist/aaba12c0-c1e1-4ee1-8ef8-6f847698ae5d. 2026-06-16 12:12:44.940 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:44.941 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 12:12:44.942 [DefaultDispatcher-worker-2 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40013 2026-06-16 12:12:44.984 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40013/playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 2026-06-16 12:12:44.984 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@4cfbf9b7 for http://localhost:40013/playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 2026-06-16 12:12:44.984 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40013/playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 2026-06-16 12:12:44.984 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:40013/playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 from class io.ktor.http.content.TextContent 2026-06-16 12:12:44.987 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 9c31f7ac-f467-45dd-bdf3-d95a0fb45906] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[9c31f7ac-f467-45dd-bdf3-d95a0fb45906]] @ /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=[9c31f7ac-f467-45dd-bdf3-d95a0fb45906]] @ /playlist/{uuid}/(method:POST) 2026-06-16 12:12:44.987 [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/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 2026-06-16 12:12:44.988 [DefaultDispatcher-worker-2 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-16 12:12:44.989 [DefaultDispatcher-worker-3 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40013/playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 2026-06-16 12:12:44.989 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40013/playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 2026-06-16 12:12:44.989 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40013/playlist/9c31f7ac-f467-45dd-bdf3-d95a0fb45906 2026-06-16 12:12:47.097 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:47.098 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 12:12:47.099 [DefaultDispatcher-worker-2 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36149 2026-06-16 12:12:47.180 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36149/api/school/xapi/statements 2026-06-16 12:12:47.182 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6b46086f for http://localhost:36149/api/school/xapi/statements 2026-06-16 12:12:47.182 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36149/api/school/xapi/statements 2026-06-16 12:12:47.182 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36149/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-16 12:12:47.185 [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-16 12:12:47.185 [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-16 12:12:47.197 [DefaultDispatcher-worker-2 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36149/api/school/xapi/statements 2026-06-16 12:12:47.197 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36149/api/school/xapi/statements 2026-06-16 12:12:47.197 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36149/api/school/xapi/statements 2026-06-16 12:12:47.198 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36149/api/school/xapi/statements. 2026-06-16 12:12:49.301 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 12:12:49.302 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 12:12:49.303 [DefaultDispatcher-worker-3 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46469 2026-06-16 12:12:49.349 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46469/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 12:12:49.349 [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:46469/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 12:12:49.349 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46469/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 12:12:49.351 [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-16 12:12:49.355 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46469/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 12:12:49.355 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46469/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 12:12:49.355 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46469/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 12:12:49.356 [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:46469/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 13:17:28.470 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:28.585 [Test worker] INFO io.ktor.server.Application - Application started in 0.253 seconds. 2026-06-16 13:17:28.695 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42069 2026-06-16 13:17:29.694 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42069/resources/index.json 2026-06-16 13:17:29.695 [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:42069/resources/index.json. 2026-06-16 13:17:29.696 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42069/resources/index.json 2026-06-16 13:17:29.822 [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-16 13:17:29.880 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 64ms 2026-06-16 13:17:29.885 [DefaultDispatcher-worker-4 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42069/resources/index.json 2026-06-16 13:17:29.887 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42069/resources/index.json 2026-06-16 13:17:29.887 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42069/resources/index.json 2026-06-16 13:17:29.912 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:42069/resources/index.json. 2026-06-16 13:17:29.949 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42069/resources/index.json 2026-06-16 13:17:29.950 [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:42069/resources/index.json. 2026-06-16 13:17:29.950 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42069/resources/index.json 2026-06-16 13:17:29.953 [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-16 13:17:29.954 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-16 13:17:29.956 [DefaultDispatcher-worker-4 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42069/resources/index.json 2026-06-16 13:17:29.956 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42069/resources/index.json 2026-06-16 13:17:29.956 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42069/resources/index.json 2026-06-16 13:17:30.964 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@43d6a104 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-16 13:17:31.972 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:31.972 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-16 13:17:31.974 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38571 2026-06-16 13:17:32.030 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38571/resources/index.json 2026-06-16 13:17:32.030 [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:38571/resources/index.json. 2026-06-16 13:17:32.030 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38571/resources/index.json 2026-06-16 13:17:32.033 [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-16 13:17:32.034 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-16 13:17:32.034 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38571/resources/index.json 2026-06-16 13:17:32.035 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38571/resources/index.json 2026-06-16 13:17:32.035 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38571/resources/index.json 2026-06-16 13:17:32.035 [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:38571/resources/index.json. 2026-06-16 13:17:32.040 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38571/resources/index.json 2026-06-16 13:17:32.040 [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:38571/resources/index.json. 2026-06-16 13:17:32.040 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38571/resources/index.json 2026-06-16 13:17:32.041 [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-16 13:17:32.042 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-16 13:17:32.042 [DefaultDispatcher-worker-2 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38571/resources/index.json 2026-06-16 13:17:32.042 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38571/resources/index.json 2026-06-16 13:17:32.042 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38571/resources/index.json 2026-06-16 13:17:34.050 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:34.051 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-16 13:17:34.052 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33733 2026-06-16 13:17:34.057 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33733/resources/lesson001.json 2026-06-16 13:17:34.057 [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:33733/resources/lesson001.json. 2026-06-16 13:17:34.057 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33733/resources/lesson001.json 2026-06-16 13:17:34.059 [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-16 13:17:34.061 [DefaultDispatcher-worker-2 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-16 13:17:34.061 [DefaultDispatcher-worker-2 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33733/resources/lesson001.json 2026-06-16 13:17:34.061 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33733/resources/lesson001.json 2026-06-16 13:17:34.061 [DefaultDispatcher-worker-2 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33733/resources/lesson001.json 2026-06-16 13:17:34.064 [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:33733/resources/lesson001.json. 2026-06-16 13:17:36.315 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:36.321 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.118 seconds. 2026-06-16 13:17:36.324 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36831 2026-06-16 13:17:36.332 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36831/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:36.333 [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:36831/api/school/respect/schoolpermissiongrant. 2026-06-16 13:17:36.333 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36831/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:36.337 [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-16 13:17:36.349 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36831/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:36.349 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36831/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:36.349 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36831/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:36.351 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36831/api/school/respect/schoolpermissiongrant. 2026-06-16 13:17:36.414 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.414 [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:36831/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:36.414 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.416 [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-16 13:17:36.434 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.435 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.435 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.436 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36831/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:36.442 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.442 [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:36831/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:36.442 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.444 [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-16 13:17:36.446 [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-16 13:17:36.447 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.447 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:36.447 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36831/api/school/respect/person?includeRelated=false 2026-06-16 13:17:38.561 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:38.562 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 13:17:38.563 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36217 2026-06-16 13:17:38.564 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36217/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:38.564 [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:36217/api/school/respect/schoolpermissiongrant. 2026-06-16 13:17:38.564 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36217/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:38.566 [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-16 13:17:38.568 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36217/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:38.568 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36217/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:38.568 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36217/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:38.569 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36217/api/school/respect/schoolpermissiongrant. 2026-06-16 13:17:38.615 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36217/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 13:17:38.615 [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:36217/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 13:17:38.615 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36217/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 13:17:38.617 [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-16 13:17:38.619 [DefaultDispatcher-worker-2 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36217/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 13:17:38.620 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36217/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 13:17:38.620 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36217/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 13:17:38.620 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36217/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 13:17:40.752 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:40.752 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-16 13:17:40.754 [DefaultDispatcher-worker-3 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39467 2026-06-16 13:17:40.756 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39467/api/school/respect/person?includeRelated=false 2026-06-16 13:17:40.756 [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:39467/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:40.756 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39467/api/school/respect/person?includeRelated=false 2026-06-16 13:17:40.759 [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-16 13:17:40.762 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39467/api/school/respect/person?includeRelated=false 2026-06-16 13:17:40.762 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39467/api/school/respect/person?includeRelated=false 2026-06-16 13:17:40.762 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39467/api/school/respect/person?includeRelated=false 2026-06-16 13:17:40.763 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39467/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:40.823 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39467/api/school/respect/person?since=2026-06-16T09%3A17%3A40.759863627Z&includeRelated=false 2026-06-16 13:17:40.823 [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:39467/api/school/respect/person?since=2026-06-16T09%3A17%3A40.759863627Z&includeRelated=false. 2026-06-16 13:17:40.823 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39467/api/school/respect/person?since=2026-06-16T09%3A17%3A40.759863627Z&includeRelated=false 2026-06-16 13:17:40.824 [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-16 13:17:40.828 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39467/api/school/respect/person?since=2026-06-16T09%3A17%3A40.759863627Z&includeRelated=false 2026-06-16 13:17:40.828 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39467/api/school/respect/person?since=2026-06-16T09%3A17%3A40.759863627Z&includeRelated=false 2026-06-16 13:17:40.828 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39467/api/school/respect/person?since=2026-06-16T09%3A17%3A40.759863627Z&includeRelated=false 2026-06-16 13:17:40.828 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39467/api/school/respect/person?since=2026-06-16T09%3A17%3A40.759863627Z&includeRelated=false. 2026-06-16 13:17:42.940 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:42.941 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-16 13:17:42.942 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35433 2026-06-16 13:17:42.987 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35433/api/school/respect/person 2026-06-16 13:17:42.988 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2f702611 for http://localhost:35433/api/school/respect/person 2026-06-16 13:17:42.988 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35433/api/school/respect/person 2026-06-16 13:17:42.988 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35433/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-16 13:17:42.991 [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-16 13:17:42.996 [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-16 13:17:42.998 [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-16 13:17:42.999 [DefaultDispatcher-worker-3 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35433/api/school/respect/person 2026-06-16 13:17:42.999 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35433/api/school/respect/person 2026-06-16 13:17:42.999 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35433/api/school/respect/person 2026-06-16 13:17:45.086 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:45.087 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-16 13:17:45.088 [DefaultDispatcher-worker-3 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38489 2026-06-16 13:17:45.089 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38489/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:45.089 [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:38489/api/school/respect/schoolpermissiongrant. 2026-06-16 13:17:45.089 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38489/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:45.091 [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-16 13:17:45.093 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38489/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:45.093 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38489/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:45.093 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38489/api/school/respect/schoolpermissiongrant 2026-06-16 13:17:45.093 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38489/api/school/respect/schoolpermissiongrant. 2026-06-16 13:17:45.139 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:45.139 [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:38489/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:45.139 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:45.140 [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-16 13:17:45.146 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:45.146 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:45.146 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:45.146 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38489/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:47.152 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:47.152 [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:38489/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:47.152 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:47.153 [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-16 13:17:47.156 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:47.156 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:47.156 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38489/api/school/respect/person?includeRelated=false 2026-06-16 13:17:47.157 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38489/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:49.270 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:49.271 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-16 13:17:49.272 [DefaultDispatcher-worker-4 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38431 2026-06-16 13:17:49.275 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38431/api/school/respect/person?includeRelated=false 2026-06-16 13:17:49.275 [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:38431/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:49.275 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38431/api/school/respect/person?includeRelated=false 2026-06-16 13:17:49.277 [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-16 13:17:49.280 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38431/api/school/respect/person?includeRelated=false 2026-06-16 13:17:49.281 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38431/api/school/respect/person?includeRelated=false 2026-06-16 13:17:49.281 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38431/api/school/respect/person?includeRelated=false 2026-06-16 13:17:49.282 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38431/api/school/respect/person?includeRelated=false. 2026-06-16 13:17:49.347 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38431/api/school/respect/person?since=2026-06-16T09%3A17%3A49.277697502Z&includeRelated=false 2026-06-16 13:17:49.347 [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:38431/api/school/respect/person?since=2026-06-16T09%3A17%3A49.277697502Z&includeRelated=false. 2026-06-16 13:17:49.347 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38431/api/school/respect/person?since=2026-06-16T09%3A17%3A49.277697502Z&includeRelated=false 2026-06-16 13:17:49.349 [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-16 13:17:49.351 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38431/api/school/respect/person?since=2026-06-16T09%3A17%3A49.277697502Z&includeRelated=false 2026-06-16 13:17:49.351 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38431/api/school/respect/person?since=2026-06-16T09%3A17%3A49.277697502Z&includeRelated=false 2026-06-16 13:17:49.351 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38431/api/school/respect/person?since=2026-06-16T09%3A17%3A49.277697502Z&includeRelated=false 2026-06-16 13:17:49.352 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38431/api/school/respect/person?since=2026-06-16T09%3A17%3A49.277697502Z&includeRelated=false. 2026-06-16 13:17:51.464 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:51.465 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-16 13:17:51.466 [DefaultDispatcher-worker-4 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35245 2026-06-16 13:17:51.468 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35245/playlist/5b404fac-a775-4c94-87ed-be765d8b5dc7 2026-06-16 13:17:51.468 [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:35245/playlist/5b404fac-a775-4c94-87ed-be765d8b5dc7. 2026-06-16 13:17:51.468 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35245/playlist/5b404fac-a775-4c94-87ed-be765d8b5dc7 2026-06-16 13:17:51.470 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 5b404fac-a775-4c94-87ed-be765d8b5dc7] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[5b404fac-a775-4c94-87ed-be765d8b5dc7]] @ /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=[5b404fac-a775-4c94-87ed-be765d8b5dc7]] @ /playlist/{uuid}/(method:GET) 2026-06-16 13:17:51.476 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35245/playlist/5b404fac-a775-4c94-87ed-be765d8b5dc7 2026-06-16 13:17:51.476 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35245/playlist/5b404fac-a775-4c94-87ed-be765d8b5dc7 2026-06-16 13:17:51.476 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35245/playlist/5b404fac-a775-4c94-87ed-be765d8b5dc7 2026-06-16 13:17:51.476 [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:35245/playlist/5b404fac-a775-4c94-87ed-be765d8b5dc7. 2026-06-16 13:17:53.623 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:53.623 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-16 13:17:53.624 [DefaultDispatcher-worker-4 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35443 2026-06-16 13:17:53.665 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35443/playlist/7b4b8a07-6920-487d-9888-80e950232b75 2026-06-16 13:17:53.665 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2f3a31c7 for http://localhost:35443/playlist/7b4b8a07-6920-487d-9888-80e950232b75 2026-06-16 13:17:53.665 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35443/playlist/7b4b8a07-6920-487d-9888-80e950232b75 2026-06-16 13:17:53.666 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35443/playlist/7b4b8a07-6920-487d-9888-80e950232b75 from class io.ktor.http.content.TextContent 2026-06-16 13:17:53.668 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 7b4b8a07-6920-487d-9888-80e950232b75] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[7b4b8a07-6920-487d-9888-80e950232b75]] @ /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=[7b4b8a07-6920-487d-9888-80e950232b75]] @ /playlist/{uuid}/(method:POST) 2026-06-16 13:17:53.668 [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/7b4b8a07-6920-487d-9888-80e950232b75 2026-06-16 13:17:53.669 [DefaultDispatcher-worker-2 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/7b4b8a07-6920-487d-9888-80e950232b75 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-16 13:17:53.670 [DefaultDispatcher-worker-13 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35443/playlist/7b4b8a07-6920-487d-9888-80e950232b75 2026-06-16 13:17:53.670 [DefaultDispatcher-worker-17 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35443/playlist/7b4b8a07-6920-487d-9888-80e950232b75 2026-06-16 13:17:53.670 [DefaultDispatcher-worker-17 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35443/playlist/7b4b8a07-6920-487d-9888-80e950232b75 2026-06-16 13:17:55.785 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:55.786 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 13:17:55.787 [DefaultDispatcher-worker-13 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35609 2026-06-16 13:17:55.868 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35609/api/school/xapi/statements 2026-06-16 13:17:55.870 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@39dfe19b for http://localhost:35609/api/school/xapi/statements 2026-06-16 13:17:55.870 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35609/api/school/xapi/statements 2026-06-16 13:17:55.870 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35609/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-16 13:17:55.872 [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-16 13:17:55.873 [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-16 13:17:55.883 [DefaultDispatcher-worker-15 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35609/api/school/xapi/statements 2026-06-16 13:17:55.884 [DefaultDispatcher-worker-15 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35609/api/school/xapi/statements 2026-06-16 13:17:55.884 [DefaultDispatcher-worker-15 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35609/api/school/xapi/statements 2026-06-16 13:17:55.884 [DefaultDispatcher-worker-15 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35609/api/school/xapi/statements. 2026-06-16 13:17:58.018 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 13:17:58.019 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-16 13:17:58.020 [DefaultDispatcher-worker-1 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42549 2026-06-16 13:17:58.070 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42549/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 13:17:58.070 [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:42549/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 13:17:58.070 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42549/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 13:17:58.072 [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-16 13:17:58.076 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42549/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 13:17:58.076 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42549/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 13:17:58.076 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42549/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 13:17:58.076 [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:42549/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 19:54:27.324 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:27.451 [Test worker] INFO io.ktor.server.Application - Application started in 0.302 seconds. 2026-06-16 19:54:27.540 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36403 2026-06-16 19:54:28.504 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36403/resources/index.json 2026-06-16 19:54:28.504 [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:36403/resources/index.json. 2026-06-16 19:54:28.505 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36403/resources/index.json 2026-06-16 19:54:28.669 [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-16 19:54:28.740 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 77ms 2026-06-16 19:54:28.746 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36403/resources/index.json 2026-06-16 19:54:28.748 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36403/resources/index.json 2026-06-16 19:54:28.749 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36403/resources/index.json 2026-06-16 19:54:28.777 [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:36403/resources/index.json. 2026-06-16 19:54:28.810 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36403/resources/index.json 2026-06-16 19:54:28.810 [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:36403/resources/index.json. 2026-06-16 19:54:28.810 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36403/resources/index.json 2026-06-16 19:54:28.812 [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-16 19:54:28.814 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-16 19:54:28.815 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36403/resources/index.json 2026-06-16 19:54:28.815 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36403/resources/index.json 2026-06-16 19:54:28.815 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36403/resources/index.json 2026-06-16 19:54:30.828 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:30.828 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-16 19:54:30.829 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43867 2026-06-16 19:54:30.894 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43867/resources/index.json 2026-06-16 19:54:30.894 [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:43867/resources/index.json. 2026-06-16 19:54:30.894 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43867/resources/index.json 2026-06-16 19:54:30.897 [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-16 19:54:30.898 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-16 19:54:30.899 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43867/resources/index.json 2026-06-16 19:54:30.899 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43867/resources/index.json 2026-06-16 19:54:30.899 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43867/resources/index.json 2026-06-16 19:54:30.900 [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:43867/resources/index.json. 2026-06-16 19:54:30.903 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43867/resources/index.json 2026-06-16 19:54:30.903 [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:43867/resources/index.json. 2026-06-16 19:54:30.903 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43867/resources/index.json 2026-06-16 19:54:30.904 [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-16 19:54:30.905 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-16 19:54:30.905 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43867/resources/index.json 2026-06-16 19:54:30.905 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43867/resources/index.json 2026-06-16 19:54:30.905 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43867/resources/index.json 2026-06-16 19:54:32.913 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:32.913 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-16 19:54:32.914 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45525 2026-06-16 19:54:32.919 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45525/resources/lesson001.json 2026-06-16 19:54:32.919 [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:45525/resources/lesson001.json. 2026-06-16 19:54:32.919 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45525/resources/lesson001.json 2026-06-16 19:54:32.922 [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-16 19:54:32.923 [eventLoopGroupProxy-10-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-16 19:54:32.924 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45525/resources/lesson001.json 2026-06-16 19:54:32.924 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45525/resources/lesson001.json 2026-06-16 19:54:32.924 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45525/resources/lesson001.json 2026-06-16 19:54:32.926 [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:45525/resources/lesson001.json. 2026-06-16 19:54:35.180 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:35.187 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.108 seconds. 2026-06-16 19:54:35.190 [DefaultDispatcher-worker-5 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33035 2026-06-16 19:54:35.199 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33035/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:35.199 [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:33035/api/school/respect/schoolpermissiongrant. 2026-06-16 19:54:35.199 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33035/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:35.204 [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-16 19:54:35.216 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33035/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:35.217 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33035/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:35.217 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33035/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:35.218 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33035/api/school/respect/schoolpermissiongrant. 2026-06-16 19:54:35.280 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.281 [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:33035/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:35.281 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.282 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-16 19:54:35.300 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.301 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.301 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.302 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33035/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:35.308 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.308 [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:33035/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:35.308 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.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-16 19:54:35.311 [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-16 19:54:35.312 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.312 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:35.312 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33035/api/school/respect/person?includeRelated=false 2026-06-16 19:54:37.426 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:37.427 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.044 seconds. 2026-06-16 19:54:37.428 [DefaultDispatcher-worker-3 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39801 2026-06-16 19:54:37.429 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39801/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:37.429 [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:39801/api/school/respect/schoolpermissiongrant. 2026-06-16 19:54:37.429 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39801/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:37.432 [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-16 19:54:37.434 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39801/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:37.434 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39801/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:37.434 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39801/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:37.434 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39801/api/school/respect/schoolpermissiongrant. 2026-06-16 19:54:37.481 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39801/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 19:54:37.482 [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:39801/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 19:54:37.482 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39801/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 19:54:37.483 [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-16 19:54:37.486 [DefaultDispatcher-worker-2 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39801/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 19:54:37.486 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39801/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 19:54:37.486 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39801/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-16 19:54:37.487 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39801/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-16 19:54:39.599 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:39.600 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-16 19:54:39.601 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39947 2026-06-16 19:54:39.603 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39947/api/school/respect/person?includeRelated=false 2026-06-16 19:54:39.603 [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:39947/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:39.603 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39947/api/school/respect/person?includeRelated=false 2026-06-16 19:54:39.606 [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-16 19:54:39.609 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39947/api/school/respect/person?includeRelated=false 2026-06-16 19:54:39.609 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39947/api/school/respect/person?includeRelated=false 2026-06-16 19:54:39.609 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39947/api/school/respect/person?includeRelated=false 2026-06-16 19:54:39.610 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39947/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:39.661 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39947/api/school/respect/person?since=2026-06-16T15%3A54%3A39.606680904Z&includeRelated=false 2026-06-16 19:54:39.661 [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:39947/api/school/respect/person?since=2026-06-16T15%3A54%3A39.606680904Z&includeRelated=false. 2026-06-16 19:54:39.661 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39947/api/school/respect/person?since=2026-06-16T15%3A54%3A39.606680904Z&includeRelated=false 2026-06-16 19:54:39.663 [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-16 19:54:39.665 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39947/api/school/respect/person?since=2026-06-16T15%3A54%3A39.606680904Z&includeRelated=false 2026-06-16 19:54:39.666 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39947/api/school/respect/person?since=2026-06-16T15%3A54%3A39.606680904Z&includeRelated=false 2026-06-16 19:54:39.666 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39947/api/school/respect/person?since=2026-06-16T15%3A54%3A39.606680904Z&includeRelated=false 2026-06-16 19:54:39.666 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39947/api/school/respect/person?since=2026-06-16T15%3A54%3A39.606680904Z&includeRelated=false. 2026-06-16 19:54:41.786 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:41.787 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-16 19:54:41.788 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46065 2026-06-16 19:54:41.832 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46065/api/school/respect/person 2026-06-16 19:54:41.833 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@7d2a59c7 for http://localhost:46065/api/school/respect/person 2026-06-16 19:54:41.833 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46065/api/school/respect/person 2026-06-16 19:54:41.833 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46065/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-16 19:54:41.836 [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-16 19:54:41.842 [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-16 19:54:41.843 [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-16 19:54:41.844 [DefaultDispatcher-worker-3 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46065/api/school/respect/person 2026-06-16 19:54:41.844 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46065/api/school/respect/person 2026-06-16 19:54:41.844 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46065/api/school/respect/person 2026-06-16 19:54:43.951 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:43.952 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-16 19:54:43.953 [DefaultDispatcher-worker-1 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44137 2026-06-16 19:54:43.954 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44137/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:43.954 [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:44137/api/school/respect/schoolpermissiongrant. 2026-06-16 19:54:43.954 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44137/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:43.957 [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-16 19:54:43.958 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44137/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:43.959 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44137/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:43.959 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44137/api/school/respect/schoolpermissiongrant 2026-06-16 19:54:43.959 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44137/api/school/respect/schoolpermissiongrant. 2026-06-16 19:54:44.000 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:44.000 [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:44137/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:44.000 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:44.001 [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-16 19:54:44.006 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:44.006 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:44.006 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:44.007 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44137/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:46.011 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:46.012 [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:44137/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:46.012 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:46.013 [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-16 19:54:46.016 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:46.016 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:46.016 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44137/api/school/respect/person?includeRelated=false 2026-06-16 19:54:46.017 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44137/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:48.135 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:48.135 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.048 seconds. 2026-06-16 19:54:48.136 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37853 2026-06-16 19:54:48.139 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-16 19:54:48.139 [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:37853/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:48.139 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-16 19:54:48.141 [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-16 19:54:48.144 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-16 19:54:48.145 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-16 19:54:48.145 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-16 19:54:48.145 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37853/api/school/respect/person?includeRelated=false. 2026-06-16 19:54:48.186 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37853/api/school/respect/person?since=2026-06-16T15%3A54%3A48.141887542Z&includeRelated=false 2026-06-16 19:54:48.187 [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:37853/api/school/respect/person?since=2026-06-16T15%3A54%3A48.141887542Z&includeRelated=false. 2026-06-16 19:54:48.187 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37853/api/school/respect/person?since=2026-06-16T15%3A54%3A48.141887542Z&includeRelated=false 2026-06-16 19:54:48.188 [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-16 19:54:48.190 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37853/api/school/respect/person?since=2026-06-16T15%3A54%3A48.141887542Z&includeRelated=false 2026-06-16 19:54:48.190 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37853/api/school/respect/person?since=2026-06-16T15%3A54%3A48.141887542Z&includeRelated=false 2026-06-16 19:54:48.190 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37853/api/school/respect/person?since=2026-06-16T15%3A54%3A48.141887542Z&includeRelated=false 2026-06-16 19:54:48.191 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37853/api/school/respect/person?since=2026-06-16T15%3A54%3A48.141887542Z&includeRelated=false. 2026-06-16 19:54:50.318 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:50.320 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-16 19:54:50.321 [DefaultDispatcher-worker-3 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40933 2026-06-16 19:54:50.322 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40933/playlist/0d32f1e4-7d8c-4a6a-8b6e-4949551018a3 2026-06-16 19:54:50.322 [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:40933/playlist/0d32f1e4-7d8c-4a6a-8b6e-4949551018a3. 2026-06-16 19:54:50.322 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40933/playlist/0d32f1e4-7d8c-4a6a-8b6e-4949551018a3 2026-06-16 19:54:50.325 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 0d32f1e4-7d8c-4a6a-8b6e-4949551018a3] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[0d32f1e4-7d8c-4a6a-8b6e-4949551018a3]] @ /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=[0d32f1e4-7d8c-4a6a-8b6e-4949551018a3]] @ /playlist/{uuid}/(method:GET) 2026-06-16 19:54:50.330 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40933/playlist/0d32f1e4-7d8c-4a6a-8b6e-4949551018a3 2026-06-16 19:54:50.331 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40933/playlist/0d32f1e4-7d8c-4a6a-8b6e-4949551018a3 2026-06-16 19:54:50.331 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40933/playlist/0d32f1e4-7d8c-4a6a-8b6e-4949551018a3 2026-06-16 19:54:50.331 [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:40933/playlist/0d32f1e4-7d8c-4a6a-8b6e-4949551018a3. 2026-06-16 19:54:52.610 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:52.616 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.117 seconds. 2026-06-16 19:54:52.617 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43633 2026-06-16 19:54:52.674 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43633/playlist/8642b33a-8bd8-43b4-ad16-d2df7526f86d 2026-06-16 19:54:52.674 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@635a225b for http://localhost:43633/playlist/8642b33a-8bd8-43b4-ad16-d2df7526f86d 2026-06-16 19:54:52.674 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43633/playlist/8642b33a-8bd8-43b4-ad16-d2df7526f86d 2026-06-16 19:54:52.674 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:43633/playlist/8642b33a-8bd8-43b4-ad16-d2df7526f86d from class io.ktor.http.content.TextContent 2026-06-16 19:54:52.677 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 8642b33a-8bd8-43b4-ad16-d2df7526f86d] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[8642b33a-8bd8-43b4-ad16-d2df7526f86d]] @ /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=[8642b33a-8bd8-43b4-ad16-d2df7526f86d]] @ /playlist/{uuid}/(method:POST) 2026-06-16 19:54:52.677 [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/8642b33a-8bd8-43b4-ad16-d2df7526f86d 2026-06-16 19:54:52.678 [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/8642b33a-8bd8-43b4-ad16-d2df7526f86d request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-16 19:54:52.679 [DefaultDispatcher-worker-5 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43633/playlist/8642b33a-8bd8-43b4-ad16-d2df7526f86d 2026-06-16 19:54:52.679 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43633/playlist/8642b33a-8bd8-43b4-ad16-d2df7526f86d 2026-06-16 19:54:52.679 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43633/playlist/8642b33a-8bd8-43b4-ad16-d2df7526f86d 2026-06-16 19:54:54.778 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:54.779 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-16 19:54:54.780 [DefaultDispatcher-worker-2 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41447 2026-06-16 19:54:54.868 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41447/api/school/xapi/statements 2026-06-16 19:54:54.870 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@fbd98af for http://localhost:41447/api/school/xapi/statements 2026-06-16 19:54:54.870 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41447/api/school/xapi/statements 2026-06-16 19:54:54.870 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:41447/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-16 19:54:54.873 [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-16 19:54:54.873 [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-16 19:54:54.882 [DefaultDispatcher-worker-5 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41447/api/school/xapi/statements 2026-06-16 19:54:54.882 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41447/api/school/xapi/statements 2026-06-16 19:54:54.882 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41447/api/school/xapi/statements 2026-06-16 19:54:54.883 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41447/api/school/xapi/statements. 2026-06-16 19:54:56.982 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-16 19:54:56.983 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-16 19:54:56.984 [DefaultDispatcher-worker-5 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37619 2026-06-16 19:54:57.042 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37619/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 19:54:57.042 [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:37619/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-16 19:54:57.042 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37619/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 19:54:57.045 [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-16 19:54:57.050 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37619/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 19:54:57.050 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37619/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 19:54:57.050 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37619/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-16 19:54:57.051 [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:37619/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false.