2026-06-27 12:08:39.201 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:39.294 [Test worker] INFO io.ktor.server.Application - Application started in 0.23 seconds. 2026-06-27 12:08:39.363 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35165 2026-06-27 12:08:40.129 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35165/resources/index.json 2026-06-27 12:08:40.130 [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:35165/resources/index.json. 2026-06-27 12:08:40.130 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35165/resources/index.json 2026-06-27 12:08:40.246 [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-27 12:08:40.292 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 50ms 2026-06-27 12:08:40.297 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35165/resources/index.json 2026-06-27 12:08:40.298 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35165/resources/index.json 2026-06-27 12:08:40.299 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35165/resources/index.json 2026-06-27 12:08:40.319 [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:35165/resources/index.json. 2026-06-27 12:08:40.350 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35165/resources/index.json 2026-06-27 12:08:40.351 [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:35165/resources/index.json. 2026-06-27 12:08:40.351 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35165/resources/index.json 2026-06-27 12:08:40.353 [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-27 12:08:40.355 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 12:08:40.356 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35165/resources/index.json 2026-06-27 12:08:40.356 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35165/resources/index.json 2026-06-27 12:08:40.356 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35165/resources/index.json 2026-06-27 12:08:42.368 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:42.368 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 12:08:42.370 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34545 2026-06-27 12:08:42.433 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34545/resources/index.json 2026-06-27 12:08:42.433 [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:34545/resources/index.json. 2026-06-27 12:08:42.433 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34545/resources/index.json 2026-06-27 12:08:42.436 [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-27 12:08:42.437 [DefaultDispatcher-worker-2 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-27 12:08:42.438 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34545/resources/index.json 2026-06-27 12:08:42.438 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34545/resources/index.json 2026-06-27 12:08:42.438 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34545/resources/index.json 2026-06-27 12:08:42.439 [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:34545/resources/index.json. 2026-06-27 12:08:42.443 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34545/resources/index.json 2026-06-27 12:08:42.443 [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:34545/resources/index.json. 2026-06-27 12:08:42.443 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34545/resources/index.json 2026-06-27 12:08:42.444 [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-27 12:08:42.445 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 12:08:42.445 [DefaultDispatcher-worker-2 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34545/resources/index.json 2026-06-27 12:08:42.446 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34545/resources/index.json 2026-06-27 12:08:42.446 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34545/resources/index.json 2026-06-27 12:08:44.453 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:44.453 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 12:08:44.454 [DefaultDispatcher-worker-2 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37509 2026-06-27 12:08:44.459 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37509/resources/lesson001.json 2026-06-27 12:08:44.459 [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:37509/resources/lesson001.json. 2026-06-27 12:08:44.459 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37509/resources/lesson001.json 2026-06-27 12:08:44.462 [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-27 12:08:44.463 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-27 12:08:44.463 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37509/resources/lesson001.json 2026-06-27 12:08:44.464 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37509/resources/lesson001.json 2026-06-27 12:08:44.464 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37509/resources/lesson001.json 2026-06-27 12:08:44.466 [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:37509/resources/lesson001.json. 2026-06-27 12:08:46.709 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:46.715 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.106 seconds. 2026-06-27 12:08:46.719 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36435 2026-06-27 12:08:46.727 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36435/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:46.727 [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:36435/api/school/respect/schoolpermissiongrant. 2026-06-27 12:08:46.727 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36435/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:46.731 [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-27 12:08:46.744 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36435/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:46.744 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36435/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:46.744 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36435/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:46.746 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36435/api/school/respect/schoolpermissiongrant. 2026-06-27 12:08:46.807 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.807 [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:36435/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:46.807 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.808 [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-27 12:08:46.826 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.826 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.826 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.827 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36435/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:46.833 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.833 [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:36435/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:46.833 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.834 [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-27 12:08:46.836 [DefaultDispatcher-worker-3 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 12:08:46.837 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.837 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:46.837 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36435/api/school/respect/person?includeRelated=false 2026-06-27 12:08:48.952 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:48.953 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:08:48.954 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37105 2026-06-27 12:08:48.955 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37105/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:48.955 [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:37105/api/school/respect/schoolpermissiongrant. 2026-06-27 12:08:48.955 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37105/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:48.958 [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-27 12:08:48.960 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37105/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:48.960 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37105/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:48.960 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37105/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:48.960 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37105/api/school/respect/schoolpermissiongrant. 2026-06-27 12:08:49.015 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37105/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:08:49.015 [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:37105/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:08:49.015 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37105/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:08:49.016 [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-27 12:08:49.019 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37105/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:08:49.020 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37105/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:08:49.020 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37105/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:08:49.020 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37105/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:08:51.151 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:51.151 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.056 seconds. 2026-06-27 12:08:51.153 [DefaultDispatcher-worker-3 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41849 2026-06-27 12:08:51.155 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41849/api/school/respect/person?includeRelated=false 2026-06-27 12:08:51.155 [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:41849/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:51.155 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41849/api/school/respect/person?includeRelated=false 2026-06-27 12:08:51.157 [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-27 12:08:51.161 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41849/api/school/respect/person?includeRelated=false 2026-06-27 12:08:51.161 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41849/api/school/respect/person?includeRelated=false 2026-06-27 12:08:51.161 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41849/api/school/respect/person?includeRelated=false 2026-06-27 12:08:51.162 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41849/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:51.251 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41849/api/school/respect/person?since=2026-06-27T08%3A08%3A51.158107144Z&includeRelated=false 2026-06-27 12:08:51.251 [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:41849/api/school/respect/person?since=2026-06-27T08%3A08%3A51.158107144Z&includeRelated=false. 2026-06-27 12:08:51.251 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41849/api/school/respect/person?since=2026-06-27T08%3A08%3A51.158107144Z&includeRelated=false 2026-06-27 12:08:51.253 [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-27 12:08:51.255 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41849/api/school/respect/person?since=2026-06-27T08%3A08%3A51.158107144Z&includeRelated=false 2026-06-27 12:08:51.255 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41849/api/school/respect/person?since=2026-06-27T08%3A08%3A51.158107144Z&includeRelated=false 2026-06-27 12:08:51.255 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41849/api/school/respect/person?since=2026-06-27T08%3A08%3A51.158107144Z&includeRelated=false 2026-06-27 12:08:51.256 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41849/api/school/respect/person?since=2026-06-27T08%3A08%3A51.158107144Z&includeRelated=false. 2026-06-27 12:08:53.349 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:53.350 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:08:53.351 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45871 2026-06-27 12:08:53.398 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45871/api/school/respect/person 2026-06-27 12:08:53.398 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@11e953d6 for http://localhost:45871/api/school/respect/person 2026-06-27 12:08:53.398 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45871/api/school/respect/person 2026-06-27 12:08:53.399 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45871/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 12:08:53.403 [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-27 12:08:53.408 [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-27 12:08:53.410 [DefaultDispatcher-worker-3 @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-27 12:08:53.411 [DefaultDispatcher-worker-6 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45871/api/school/respect/person 2026-06-27 12:08:53.411 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45871/api/school/respect/person 2026-06-27 12:08:53.411 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45871/api/school/respect/person 2026-06-27 12:08:55.515 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:55.516 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 12:08:55.517 [DefaultDispatcher-worker-7 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37777 2026-06-27 12:08:55.517 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37777/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:55.517 [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:37777/api/school/respect/schoolpermissiongrant. 2026-06-27 12:08:55.517 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37777/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:55.520 [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-27 12:08:55.521 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37777/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:55.521 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37777/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:55.521 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37777/api/school/respect/schoolpermissiongrant 2026-06-27 12:08:55.522 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37777/api/school/respect/schoolpermissiongrant. 2026-06-27 12:08:55.563 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:55.563 [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:37777/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:55.563 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:55.564 [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-27 12:08:55.568 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:55.569 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:55.569 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:55.569 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37777/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:57.574 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:57.574 [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:37777/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:57.574 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:57.576 [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-27 12:08:57.579 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:57.579 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:57.579 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37777/api/school/respect/person?includeRelated=false 2026-06-27 12:08:57.580 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37777/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:59.679 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:08:59.680 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:08:59.681 [DefaultDispatcher-worker-6 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35555 2026-06-27 12:08:59.683 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35555/api/school/respect/person?includeRelated=false 2026-06-27 12:08:59.683 [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:35555/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:59.683 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35555/api/school/respect/person?includeRelated=false 2026-06-27 12:08:59.686 [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-27 12:08:59.689 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35555/api/school/respect/person?includeRelated=false 2026-06-27 12:08:59.689 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35555/api/school/respect/person?includeRelated=false 2026-06-27 12:08:59.689 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35555/api/school/respect/person?includeRelated=false 2026-06-27 12:08:59.690 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35555/api/school/respect/person?includeRelated=false. 2026-06-27 12:08:59.736 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35555/api/school/respect/person?since=2026-06-27T08%3A08%3A59.686434971Z&includeRelated=false 2026-06-27 12:08:59.736 [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:35555/api/school/respect/person?since=2026-06-27T08%3A08%3A59.686434971Z&includeRelated=false. 2026-06-27 12:08:59.736 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35555/api/school/respect/person?since=2026-06-27T08%3A08%3A59.686434971Z&includeRelated=false 2026-06-27 12:08:59.737 [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-27 12:08:59.739 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35555/api/school/respect/person?since=2026-06-27T08%3A08%3A59.686434971Z&includeRelated=false 2026-06-27 12:08:59.739 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35555/api/school/respect/person?since=2026-06-27T08%3A08%3A59.686434971Z&includeRelated=false 2026-06-27 12:08:59.739 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35555/api/school/respect/person?since=2026-06-27T08%3A08%3A59.686434971Z&includeRelated=false 2026-06-27 12:08:59.740 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35555/api/school/respect/person?since=2026-06-27T08%3A08%3A59.686434971Z&includeRelated=false. 2026-06-27 12:09:01.859 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:09:01.860 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.052 seconds. 2026-06-27 12:09:01.861 [DefaultDispatcher-worker-8 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45905 2026-06-27 12:09:01.862 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45905/playlist/381562d3-9075-41f9-84c6-f8cd6ad920de 2026-06-27 12:09:01.862 [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:45905/playlist/381562d3-9075-41f9-84c6-f8cd6ad920de. 2026-06-27 12:09:01.862 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45905/playlist/381562d3-9075-41f9-84c6-f8cd6ad920de 2026-06-27 12:09:01.864 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 381562d3-9075-41f9-84c6-f8cd6ad920de] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[381562d3-9075-41f9-84c6-f8cd6ad920de]] @ /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=[381562d3-9075-41f9-84c6-f8cd6ad920de]] @ /playlist/{uuid}/(method:GET) 2026-06-27 12:09:01.869 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45905/playlist/381562d3-9075-41f9-84c6-f8cd6ad920de 2026-06-27 12:09:01.869 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45905/playlist/381562d3-9075-41f9-84c6-f8cd6ad920de 2026-06-27 12:09:01.870 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45905/playlist/381562d3-9075-41f9-84c6-f8cd6ad920de 2026-06-27 12:09:01.870 [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:45905/playlist/381562d3-9075-41f9-84c6-f8cd6ad920de. 2026-06-27 12:09:04.003 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:09:04.004 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 12:09:04.005 [DefaultDispatcher-worker-6 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38771 2026-06-27 12:09:04.053 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38771/playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 2026-06-27 12:09:04.054 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@16bfbec7 for http://localhost:38771/playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 2026-06-27 12:09:04.054 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38771/playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 2026-06-27 12:09:04.054 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38771/playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 from class io.ktor.http.content.TextContent 2026-06-27 12:09:04.056 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, cba323fb-0bdb-4edf-ab0f-f664d209ca78] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[cba323fb-0bdb-4edf-ab0f-f664d209ca78]] @ /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=[cba323fb-0bdb-4edf-ab0f-f664d209ca78]] @ /playlist/{uuid}/(method:POST) 2026-06-27 12:09:04.056 [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/cba323fb-0bdb-4edf-ab0f-f664d209ca78 2026-06-27 12:09:04.057 [DefaultDispatcher-worker-6 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 12:09:04.058 [DefaultDispatcher-worker-5 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38771/playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 2026-06-27 12:09:04.058 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38771/playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 2026-06-27 12:09:04.058 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38771/playlist/cba323fb-0bdb-4edf-ab0f-f664d209ca78 2026-06-27 12:09:06.167 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:09:06.169 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:09:06.170 [DefaultDispatcher-worker-5 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36501 2026-06-27 12:09:06.250 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36501/api/school/xapi/statements 2026-06-27 12:09:06.252 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@245a25f9 for http://localhost:36501/api/school/xapi/statements 2026-06-27 12:09:06.252 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36501/api/school/xapi/statements 2026-06-27 12:09:06.252 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36501/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 12:09:06.255 [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-27 12:09:06.255 [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-27 12:09:06.264 [DefaultDispatcher-worker-8 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36501/api/school/xapi/statements 2026-06-27 12:09:06.264 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36501/api/school/xapi/statements 2026-06-27 12:09:06.264 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36501/api/school/xapi/statements 2026-06-27 12:09:06.264 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36501/api/school/xapi/statements. 2026-06-27 12:09:08.401 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:09:08.402 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-27 12:09:08.403 [DefaultDispatcher-worker-10 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37951 2026-06-27 12:09:08.447 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37951/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:09:08.447 [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:37951/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 12:09:08.447 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37951/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:09:08.449 [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-27 12:09:08.453 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37951/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:09:08.453 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37951/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:09:08.453 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37951/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:09:08.453 [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:37951/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 12:23:18.770 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:18.907 [Test worker] INFO io.ktor.server.Application - Application started in 0.3 seconds. 2026-06-27 12:23:18.998 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33181 2026-06-27 12:23:19.914 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33181/resources/index.json 2026-06-27 12:23:19.914 [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:33181/resources/index.json. 2026-06-27 12:23:19.915 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33181/resources/index.json 2026-06-27 12:23:20.071 [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-27 12:23:20.132 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 67ms 2026-06-27 12:23:20.135 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33181/resources/index.json 2026-06-27 12:23:20.137 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33181/resources/index.json 2026-06-27 12:23:20.137 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33181/resources/index.json 2026-06-27 12:23:20.159 [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:33181/resources/index.json. 2026-06-27 12:23:20.195 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33181/resources/index.json 2026-06-27 12:23:20.195 [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:33181/resources/index.json. 2026-06-27 12:23:20.195 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33181/resources/index.json 2026-06-27 12:23:20.197 [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-27 12:23:20.199 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 12:23:20.200 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33181/resources/index.json 2026-06-27 12:23:20.200 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33181/resources/index.json 2026-06-27 12:23:20.200 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33181/resources/index.json 2026-06-27 12:23:21.207 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@1037fe85 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-27 12:23:22.215 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:22.216 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 12:23:22.218 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42441 2026-06-27 12:23:22.286 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42441/resources/index.json 2026-06-27 12:23:22.287 [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:42441/resources/index.json. 2026-06-27 12:23:22.287 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42441/resources/index.json 2026-06-27 12:23:22.289 [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-27 12:23:22.290 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-27 12:23:22.291 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42441/resources/index.json 2026-06-27 12:23:22.291 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42441/resources/index.json 2026-06-27 12:23:22.291 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42441/resources/index.json 2026-06-27 12:23:22.292 [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:42441/resources/index.json. 2026-06-27 12:23:22.296 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42441/resources/index.json 2026-06-27 12:23:22.297 [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:42441/resources/index.json. 2026-06-27 12:23:22.297 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42441/resources/index.json 2026-06-27 12:23:22.298 [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-27 12:23:22.299 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 12:23:22.299 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42441/resources/index.json 2026-06-27 12:23:22.300 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42441/resources/index.json 2026-06-27 12:23:22.300 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42441/resources/index.json 2026-06-27 12:23:24.305 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:24.306 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 12:23:24.307 [DefaultDispatcher-worker-5 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38359 2026-06-27 12:23:24.312 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38359/resources/lesson001.json 2026-06-27 12:23:24.312 [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:38359/resources/lesson001.json. 2026-06-27 12:23:24.312 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38359/resources/lesson001.json 2026-06-27 12:23:24.315 [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-27 12:23:24.316 [DefaultDispatcher-worker-2 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-27 12:23:24.317 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38359/resources/lesson001.json 2026-06-27 12:23:24.317 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38359/resources/lesson001.json 2026-06-27 12:23:24.317 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38359/resources/lesson001.json 2026-06-27 12:23:24.320 [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:38359/resources/lesson001.json. 2026-06-27 12:23:26.549 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:26.555 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.099 seconds. 2026-06-27 12:23:26.557 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37853 2026-06-27 12:23:26.563 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37853/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:26.563 [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:37853/api/school/respect/schoolpermissiongrant. 2026-06-27 12:23:26.563 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37853/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:26.567 [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-27 12:23:26.577 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37853/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:26.578 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37853/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:26.578 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37853/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:26.579 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37853/api/school/respect/schoolpermissiongrant. 2026-06-27 12:23:26.636 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.637 [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:37853/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:26.637 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.638 [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-27 12:23:26.653 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.653 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.653 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.654 [Test worker @coroutine#65] 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-27 12:23:26.659 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.659 [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:37853/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:26.659 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.660 [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-27 12:23:26.662 [DefaultDispatcher-worker-5 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 12:23:26.663 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.663 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:26.663 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37853/api/school/respect/person?includeRelated=false 2026-06-27 12:23:28.771 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:28.771 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:23:28.773 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38897 2026-06-27 12:23:28.774 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38897/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:28.774 [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:38897/api/school/respect/schoolpermissiongrant. 2026-06-27 12:23:28.774 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38897/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:28.776 [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-27 12:23:28.778 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38897/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:28.778 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38897/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:28.778 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38897/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:28.779 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38897/api/school/respect/schoolpermissiongrant. 2026-06-27 12:23:28.828 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38897/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:23:28.828 [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:38897/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:23:28.828 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38897/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:23:28.829 [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-27 12:23:28.832 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38897/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:23:28.833 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38897/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:23:28.833 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38897/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:23:28.833 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38897/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:23:30.958 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:30.958 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-27 12:23:30.960 [DefaultDispatcher-worker-3 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35789 2026-06-27 12:23:30.962 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35789/api/school/respect/person?includeRelated=false 2026-06-27 12:23:30.962 [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:35789/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:30.962 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35789/api/school/respect/person?includeRelated=false 2026-06-27 12:23:30.965 [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-27 12:23:30.968 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35789/api/school/respect/person?includeRelated=false 2026-06-27 12:23:30.968 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35789/api/school/respect/person?includeRelated=false 2026-06-27 12:23:30.968 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35789/api/school/respect/person?includeRelated=false 2026-06-27 12:23:30.969 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35789/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:31.030 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35789/api/school/respect/person?since=2026-06-27T08%3A23%3A30.965695591Z&includeRelated=false 2026-06-27 12:23:31.030 [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:35789/api/school/respect/person?since=2026-06-27T08%3A23%3A30.965695591Z&includeRelated=false. 2026-06-27 12:23:31.030 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35789/api/school/respect/person?since=2026-06-27T08%3A23%3A30.965695591Z&includeRelated=false 2026-06-27 12:23:31.032 [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-27 12:23:31.035 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35789/api/school/respect/person?since=2026-06-27T08%3A23%3A30.965695591Z&includeRelated=false 2026-06-27 12:23:31.035 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35789/api/school/respect/person?since=2026-06-27T08%3A23%3A30.965695591Z&includeRelated=false 2026-06-27 12:23:31.035 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35789/api/school/respect/person?since=2026-06-27T08%3A23%3A30.965695591Z&includeRelated=false 2026-06-27 12:23:31.036 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35789/api/school/respect/person?since=2026-06-27T08%3A23%3A30.965695591Z&includeRelated=false. 2026-06-27 12:23:33.149 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:33.149 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 12:23:33.150 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39673 2026-06-27 12:23:33.195 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39673/api/school/respect/person 2026-06-27 12:23:33.195 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2a9f06ad for http://localhost:39673/api/school/respect/person 2026-06-27 12:23:33.195 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39673/api/school/respect/person 2026-06-27 12:23:33.195 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39673/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 12:23:33.201 [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-27 12:23:33.206 [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-27 12:23:33.208 [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-27 12:23:33.210 [DefaultDispatcher-worker-4 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39673/api/school/respect/person 2026-06-27 12:23:33.210 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39673/api/school/respect/person 2026-06-27 12:23:33.210 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39673/api/school/respect/person 2026-06-27 12:23:35.476 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:35.477 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.106 seconds. 2026-06-27 12:23:35.478 [DefaultDispatcher-worker-4 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43277 2026-06-27 12:23:35.479 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43277/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:35.479 [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:43277/api/school/respect/schoolpermissiongrant. 2026-06-27 12:23:35.479 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43277/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:35.482 [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-27 12:23:35.484 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43277/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:35.484 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43277/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:35.484 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43277/api/school/respect/schoolpermissiongrant 2026-06-27 12:23:35.484 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43277/api/school/respect/schoolpermissiongrant. 2026-06-27 12:23:35.582 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:35.582 [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:43277/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:35.582 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:35.583 [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-27 12:23:35.589 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:35.589 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:35.589 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:35.590 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43277/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:37.594 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:37.595 [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:43277/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:37.595 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:37.596 [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-27 12:23:37.599 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:37.599 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:37.599 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43277/api/school/respect/person?includeRelated=false 2026-06-27 12:23:37.600 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43277/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:39.713 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:39.714 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:23:39.715 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38933 2026-06-27 12:23:39.717 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38933/api/school/respect/person?includeRelated=false 2026-06-27 12:23:39.717 [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:38933/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:39.718 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38933/api/school/respect/person?includeRelated=false 2026-06-27 12:23:39.720 [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-27 12:23:39.723 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38933/api/school/respect/person?includeRelated=false 2026-06-27 12:23:39.723 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38933/api/school/respect/person?includeRelated=false 2026-06-27 12:23:39.723 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38933/api/school/respect/person?includeRelated=false 2026-06-27 12:23:39.724 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38933/api/school/respect/person?includeRelated=false. 2026-06-27 12:23:39.767 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38933/api/school/respect/person?since=2026-06-27T08%3A23%3A39.720484450Z&includeRelated=false 2026-06-27 12:23:39.767 [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:38933/api/school/respect/person?since=2026-06-27T08%3A23%3A39.720484450Z&includeRelated=false. 2026-06-27 12:23:39.767 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38933/api/school/respect/person?since=2026-06-27T08%3A23%3A39.720484450Z&includeRelated=false 2026-06-27 12:23:39.768 [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-27 12:23:39.770 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38933/api/school/respect/person?since=2026-06-27T08%3A23%3A39.720484450Z&includeRelated=false 2026-06-27 12:23:39.770 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38933/api/school/respect/person?since=2026-06-27T08%3A23%3A39.720484450Z&includeRelated=false 2026-06-27 12:23:39.770 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38933/api/school/respect/person?since=2026-06-27T08%3A23%3A39.720484450Z&includeRelated=false 2026-06-27 12:23:39.771 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38933/api/school/respect/person?since=2026-06-27T08%3A23%3A39.720484450Z&includeRelated=false. 2026-06-27 12:23:41.873 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:41.874 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-27 12:23:41.875 [DefaultDispatcher-worker-3 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34011 2026-06-27 12:23:41.877 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34011/playlist/563e5534-f75d-48d9-b4da-69377eaff2a1 2026-06-27 12:23:41.877 [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:34011/playlist/563e5534-f75d-48d9-b4da-69377eaff2a1. 2026-06-27 12:23:41.877 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34011/playlist/563e5534-f75d-48d9-b4da-69377eaff2a1 2026-06-27 12:23:41.879 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 563e5534-f75d-48d9-b4da-69377eaff2a1] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[563e5534-f75d-48d9-b4da-69377eaff2a1]] @ /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=[563e5534-f75d-48d9-b4da-69377eaff2a1]] @ /playlist/{uuid}/(method:GET) 2026-06-27 12:23:41.885 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34011/playlist/563e5534-f75d-48d9-b4da-69377eaff2a1 2026-06-27 12:23:41.885 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34011/playlist/563e5534-f75d-48d9-b4da-69377eaff2a1 2026-06-27 12:23:41.885 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34011/playlist/563e5534-f75d-48d9-b4da-69377eaff2a1 2026-06-27 12:23:41.885 [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:34011/playlist/563e5534-f75d-48d9-b4da-69377eaff2a1. 2026-06-27 12:23:44.041 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:44.041 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 12:23:44.042 [DefaultDispatcher-worker-4 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45639 2026-06-27 12:23:44.082 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45639/playlist/7e8ebbdf-8cad-4857-a46d-8e510c32691b 2026-06-27 12:23:44.083 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2fc52eea for http://localhost:45639/playlist/7e8ebbdf-8cad-4857-a46d-8e510c32691b 2026-06-27 12:23:44.083 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45639/playlist/7e8ebbdf-8cad-4857-a46d-8e510c32691b 2026-06-27 12:23:44.083 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45639/playlist/7e8ebbdf-8cad-4857-a46d-8e510c32691b from class io.ktor.http.content.TextContent 2026-06-27 12:23:44.085 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 7e8ebbdf-8cad-4857-a46d-8e510c32691b] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[7e8ebbdf-8cad-4857-a46d-8e510c32691b]] @ /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=[7e8ebbdf-8cad-4857-a46d-8e510c32691b]] @ /playlist/{uuid}/(method:POST) 2026-06-27 12:23:44.085 [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/7e8ebbdf-8cad-4857-a46d-8e510c32691b 2026-06-27 12:23:44.086 [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/7e8ebbdf-8cad-4857-a46d-8e510c32691b request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 12:23:44.087 [DefaultDispatcher-worker-9 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45639/playlist/7e8ebbdf-8cad-4857-a46d-8e510c32691b 2026-06-27 12:23:44.087 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45639/playlist/7e8ebbdf-8cad-4857-a46d-8e510c32691b 2026-06-27 12:23:44.087 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45639/playlist/7e8ebbdf-8cad-4857-a46d-8e510c32691b 2026-06-27 12:23:46.192 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:46.194 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:23:46.195 [DefaultDispatcher-worker-5 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38313 2026-06-27 12:23:46.275 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38313/api/school/xapi/statements 2026-06-27 12:23:46.276 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2ecca9fd for http://localhost:38313/api/school/xapi/statements 2026-06-27 12:23:46.276 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38313/api/school/xapi/statements 2026-06-27 12:23:46.276 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38313/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 12:23:46.279 [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-27 12:23:46.279 [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-27 12:23:46.289 [DefaultDispatcher-worker-5 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38313/api/school/xapi/statements 2026-06-27 12:23:46.289 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38313/api/school/xapi/statements 2026-06-27 12:23:46.289 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38313/api/school/xapi/statements 2026-06-27 12:23:46.289 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38313/api/school/xapi/statements. 2026-06-27 12:23:48.400 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:23:48.401 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.048 seconds. 2026-06-27 12:23:48.402 [DefaultDispatcher-worker-7 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46431 2026-06-27 12:23:48.447 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:23:48.447 [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:46431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 12:23:48.447 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:23:48.450 [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-27 12:23:48.453 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:23:48.453 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:23:48.453 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:23:48.454 [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:46431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 12:45:22.692 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:22.793 [Test worker] INFO io.ktor.server.Application - Application started in 0.245 seconds. 2026-06-27 12:45:22.872 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42997 2026-06-27 12:45:23.843 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42997/resources/index.json 2026-06-27 12:45:23.844 [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:42997/resources/index.json. 2026-06-27 12:45:23.844 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42997/resources/index.json 2026-06-27 12:45:23.973 [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-27 12:45:24.015 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 47ms 2026-06-27 12:45:24.021 [DefaultDispatcher-worker-3 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42997/resources/index.json 2026-06-27 12:45:24.024 [DefaultDispatcher-worker-3 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42997/resources/index.json 2026-06-27 12:45:24.024 [DefaultDispatcher-worker-3 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42997/resources/index.json 2026-06-27 12:45:24.050 [DefaultDispatcher-worker-3 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:42997/resources/index.json. 2026-06-27 12:45:24.081 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42997/resources/index.json 2026-06-27 12:45:24.081 [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:42997/resources/index.json. 2026-06-27 12:45:24.081 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42997/resources/index.json 2026-06-27 12:45:24.083 [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-27 12:45:24.085 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 12:45:24.085 [DefaultDispatcher-worker-3 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42997/resources/index.json 2026-06-27 12:45:24.086 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42997/resources/index.json 2026-06-27 12:45:24.086 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42997/resources/index.json 2026-06-27 12:45:25.092 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@74997c82 java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1005) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:388) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:381) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:907) at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:873) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:863) at io.netty.channel.DefaultChannelPipeline.destroyUp(DefaultChannelPipeline.java:816) at io.netty.channel.DefaultChannelPipeline.destroy(DefaultChannelPipeline.java:801) at io.netty.channel.DefaultChannelPipeline.access$700(DefaultChannelPipeline.java:45) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1411) at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:780) at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:692) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:183) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) 2026-06-27 12:45:26.099 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:26.100 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 12:45:26.101 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46215 2026-06-27 12:45:26.173 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46215/resources/index.json 2026-06-27 12:45:26.173 [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:46215/resources/index.json. 2026-06-27 12:45:26.173 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46215/resources/index.json 2026-06-27 12:45:26.176 [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-27 12:45:26.177 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-27 12:45:26.177 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46215/resources/index.json 2026-06-27 12:45:26.178 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46215/resources/index.json 2026-06-27 12:45:26.178 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46215/resources/index.json 2026-06-27 12:45:26.178 [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:46215/resources/index.json. 2026-06-27 12:45:26.182 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46215/resources/index.json 2026-06-27 12:45:26.182 [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:46215/resources/index.json. 2026-06-27 12:45:26.182 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46215/resources/index.json 2026-06-27 12:45:26.184 [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-27 12:45:26.184 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms 2026-06-27 12:45:26.185 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46215/resources/index.json 2026-06-27 12:45:26.185 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46215/resources/index.json 2026-06-27 12:45:26.185 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46215/resources/index.json 2026-06-27 12:45:28.191 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:28.191 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 12:45:28.193 [DefaultDispatcher-worker-2 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39353 2026-06-27 12:45:28.198 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39353/resources/lesson001.json 2026-06-27 12:45:28.198 [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:39353/resources/lesson001.json. 2026-06-27 12:45:28.198 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39353/resources/lesson001.json 2026-06-27 12:45:28.200 [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-27 12:45:28.202 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-27 12:45:28.202 [DefaultDispatcher-worker-4 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39353/resources/lesson001.json 2026-06-27 12:45:28.203 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39353/resources/lesson001.json 2026-06-27 12:45:28.203 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39353/resources/lesson001.json 2026-06-27 12:45:28.205 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:39353/resources/lesson001.json. 2026-06-27 12:45:30.445 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:30.452 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.098 seconds. 2026-06-27 12:45:30.454 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38843 2026-06-27 12:45:30.462 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38843/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:30.463 [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:38843/api/school/respect/schoolpermissiongrant. 2026-06-27 12:45:30.463 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38843/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:30.467 [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-27 12:45:30.480 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38843/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:30.480 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38843/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:30.480 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38843/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:30.482 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38843/api/school/respect/schoolpermissiongrant. 2026-06-27 12:45:30.545 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.545 [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:38843/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:30.545 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.547 [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-27 12:45:30.566 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.566 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.566 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.568 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38843/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:30.574 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.574 [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:38843/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:30.574 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.576 [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-27 12:45:30.578 [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-27 12:45:30.579 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.579 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:30.579 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38843/api/school/respect/person?includeRelated=false 2026-06-27 12:45:32.689 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:32.690 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 12:45:32.691 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42267 2026-06-27 12:45:32.691 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42267/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:32.691 [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:42267/api/school/respect/schoolpermissiongrant. 2026-06-27 12:45:32.692 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42267/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:32.694 [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-27 12:45:32.696 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42267/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:32.696 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42267/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:32.696 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42267/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:32.696 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42267/api/school/respect/schoolpermissiongrant. 2026-06-27 12:45:32.742 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42267/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:45:32.743 [DefaultDispatcher-worker-4 @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:42267/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:45:32.743 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42267/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:45:32.744 [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-27 12:45:32.746 [DefaultDispatcher-worker-2 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42267/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:45:32.746 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42267/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:45:32.746 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42267/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:45:32.747 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42267/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:45:34.972 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:34.973 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.104 seconds. 2026-06-27 12:45:34.974 [DefaultDispatcher-worker-3 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39165 2026-06-27 12:45:34.977 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39165/api/school/respect/person?includeRelated=false 2026-06-27 12:45:34.977 [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:39165/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:34.977 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39165/api/school/respect/person?includeRelated=false 2026-06-27 12:45:34.979 [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-27 12:45:34.983 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39165/api/school/respect/person?includeRelated=false 2026-06-27 12:45:34.983 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39165/api/school/respect/person?includeRelated=false 2026-06-27 12:45:34.983 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39165/api/school/respect/person?includeRelated=false 2026-06-27 12:45:34.984 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39165/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:35.064 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39165/api/school/respect/person?since=2026-06-27T08%3A45%3A34.980176630Z&includeRelated=false 2026-06-27 12:45:35.064 [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:39165/api/school/respect/person?since=2026-06-27T08%3A45%3A34.980176630Z&includeRelated=false. 2026-06-27 12:45:35.064 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39165/api/school/respect/person?since=2026-06-27T08%3A45%3A34.980176630Z&includeRelated=false 2026-06-27 12:45:35.065 [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-27 12:45:35.069 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39165/api/school/respect/person?since=2026-06-27T08%3A45%3A34.980176630Z&includeRelated=false 2026-06-27 12:45:35.069 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39165/api/school/respect/person?since=2026-06-27T08%3A45%3A34.980176630Z&includeRelated=false 2026-06-27 12:45:35.069 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39165/api/school/respect/person?since=2026-06-27T08%3A45%3A34.980176630Z&includeRelated=false 2026-06-27 12:45:35.069 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39165/api/school/respect/person?since=2026-06-27T08%3A45%3A34.980176630Z&includeRelated=false. 2026-06-27 12:45:37.180 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:37.181 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 12:45:37.182 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45273 2026-06-27 12:45:37.226 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45273/api/school/respect/person 2026-06-27 12:45:37.226 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@e42d132 for http://localhost:45273/api/school/respect/person 2026-06-27 12:45:37.226 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45273/api/school/respect/person 2026-06-27 12:45:37.227 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45273/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 12:45:37.230 [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-27 12:45:37.237 [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-27 12:45:37.239 [DefaultDispatcher-worker-3 @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-27 12:45:37.240 [DefaultDispatcher-worker-3 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45273/api/school/respect/person 2026-06-27 12:45:37.241 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45273/api/school/respect/person 2026-06-27 12:45:37.241 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45273/api/school/respect/person 2026-06-27 12:45:39.345 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:39.346 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.05 seconds. 2026-06-27 12:45:39.347 [DefaultDispatcher-worker-3 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36937 2026-06-27 12:45:39.348 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36937/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:39.348 [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:36937/api/school/respect/schoolpermissiongrant. 2026-06-27 12:45:39.348 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36937/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:39.350 [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-27 12:45:39.352 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36937/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:39.352 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36937/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:39.352 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36937/api/school/respect/schoolpermissiongrant 2026-06-27 12:45:39.353 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36937/api/school/respect/schoolpermissiongrant. 2026-06-27 12:45:39.394 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:39.394 [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:36937/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:39.394 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:39.395 [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-27 12:45:39.400 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:39.400 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:39.400 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:39.401 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36937/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:41.407 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:41.407 [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:36937/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:41.407 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:41.408 [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-27 12:45:41.411 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:41.411 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:41.411 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36937/api/school/respect/person?includeRelated=false 2026-06-27 12:45:41.412 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36937/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:43.522 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:43.522 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 12:45:43.523 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33765 2026-06-27 12:45:43.526 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33765/api/school/respect/person?includeRelated=false 2026-06-27 12:45:43.526 [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:33765/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:43.526 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33765/api/school/respect/person?includeRelated=false 2026-06-27 12:45:43.528 [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-27 12:45:43.532 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33765/api/school/respect/person?includeRelated=false 2026-06-27 12:45:43.532 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33765/api/school/respect/person?includeRelated=false 2026-06-27 12:45:43.532 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33765/api/school/respect/person?includeRelated=false 2026-06-27 12:45:43.533 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33765/api/school/respect/person?includeRelated=false. 2026-06-27 12:45:43.583 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33765/api/school/respect/person?since=2026-06-27T08%3A45%3A43.528769342Z&includeRelated=false 2026-06-27 12:45:43.583 [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:33765/api/school/respect/person?since=2026-06-27T08%3A45%3A43.528769342Z&includeRelated=false. 2026-06-27 12:45:43.583 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33765/api/school/respect/person?since=2026-06-27T08%3A45%3A43.528769342Z&includeRelated=false 2026-06-27 12:45:43.585 [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-27 12:45:43.588 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33765/api/school/respect/person?since=2026-06-27T08%3A45%3A43.528769342Z&includeRelated=false 2026-06-27 12:45:43.588 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33765/api/school/respect/person?since=2026-06-27T08%3A45%3A43.528769342Z&includeRelated=false 2026-06-27 12:45:43.588 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33765/api/school/respect/person?since=2026-06-27T08%3A45%3A43.528769342Z&includeRelated=false 2026-06-27 12:45:43.588 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33765/api/school/respect/person?since=2026-06-27T08%3A45%3A43.528769342Z&includeRelated=false. 2026-06-27 12:45:45.712 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:45.714 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.05 seconds. 2026-06-27 12:45:45.715 [DefaultDispatcher-worker-4 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44637 2026-06-27 12:45:45.717 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44637/playlist/031ffb8b-5613-4572-94c3-64a618e536b5 2026-06-27 12:45:45.718 [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:44637/playlist/031ffb8b-5613-4572-94c3-64a618e536b5. 2026-06-27 12:45:45.718 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44637/playlist/031ffb8b-5613-4572-94c3-64a618e536b5 2026-06-27 12:45:45.720 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 031ffb8b-5613-4572-94c3-64a618e536b5] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[031ffb8b-5613-4572-94c3-64a618e536b5]] @ /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=[031ffb8b-5613-4572-94c3-64a618e536b5]] @ /playlist/{uuid}/(method:GET) 2026-06-27 12:45:45.725 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44637/playlist/031ffb8b-5613-4572-94c3-64a618e536b5 2026-06-27 12:45:45.726 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44637/playlist/031ffb8b-5613-4572-94c3-64a618e536b5 2026-06-27 12:45:45.726 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44637/playlist/031ffb8b-5613-4572-94c3-64a618e536b5 2026-06-27 12:45:45.726 [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:44637/playlist/031ffb8b-5613-4572-94c3-64a618e536b5. 2026-06-27 12:45:47.873 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:47.873 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 12:45:47.874 [DefaultDispatcher-worker-3 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44347 2026-06-27 12:45:47.914 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44347/playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 2026-06-27 12:45:47.914 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@20e21c3c for http://localhost:44347/playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 2026-06-27 12:45:47.914 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44347/playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 2026-06-27 12:45:47.914 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44347/playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 from class io.ktor.http.content.TextContent 2026-06-27 12:45:47.917 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6]] @ /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=[54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6]] @ /playlist/{uuid}/(method:POST) 2026-06-27 12:45:47.917 [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/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 2026-06-27 12:45:47.918 [DefaultDispatcher-worker-3 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 12:45:47.918 [DefaultDispatcher-worker-2 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44347/playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 2026-06-27 12:45:47.918 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44347/playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 2026-06-27 12:45:47.918 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44347/playlist/54c4fe38-c7a0-45b9-9fcc-fc773be5d1d6 2026-06-27 12:45:50.036 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:50.037 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-27 12:45:50.038 [DefaultDispatcher-worker-6 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46239 2026-06-27 12:45:50.128 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46239/api/school/xapi/statements 2026-06-27 12:45:50.130 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@608579c8 for http://localhost:46239/api/school/xapi/statements 2026-06-27 12:45:50.130 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46239/api/school/xapi/statements 2026-06-27 12:45:50.130 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46239/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 12:45:50.133 [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-27 12:45:50.133 [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-27 12:45:50.143 [DefaultDispatcher-worker-1 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46239/api/school/xapi/statements 2026-06-27 12:45:50.144 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46239/api/school/xapi/statements 2026-06-27 12:45:50.144 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46239/api/school/xapi/statements 2026-06-27 12:45:50.144 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46239/api/school/xapi/statements. 2026-06-27 12:45:52.235 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:45:52.236 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 12:45:52.237 [DefaultDispatcher-worker-1 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44875 2026-06-27 12:45:52.283 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44875/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:45:52.283 [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:44875/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 12:45:52.283 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44875/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:45:52.285 [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-27 12:45:52.289 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44875/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:45:52.289 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44875/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:45:52.289 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44875/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:45:52.290 [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:44875/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 12:57:36.657 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:36.758 [Test worker] INFO io.ktor.server.Application - Application started in 0.253 seconds. 2026-06-27 12:57:36.854 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44351 2026-06-27 12:57:37.761 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44351/resources/index.json 2026-06-27 12:57:37.762 [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:44351/resources/index.json. 2026-06-27 12:57:37.762 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44351/resources/index.json 2026-06-27 12:57:38.025 [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-27 12:57:38.174 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 156ms 2026-06-27 12:57:38.195 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44351/resources/index.json 2026-06-27 12:57:38.198 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44351/resources/index.json 2026-06-27 12:57:38.198 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44351/resources/index.json 2026-06-27 12:57:38.262 [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:44351/resources/index.json. 2026-06-27 12:57:38.345 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44351/resources/index.json 2026-06-27 12:57:38.345 [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:44351/resources/index.json. 2026-06-27 12:57:38.345 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44351/resources/index.json 2026-06-27 12:57:38.353 [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-27 12:57:38.355 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 12:57:38.358 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44351/resources/index.json 2026-06-27 12:57:38.358 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44351/resources/index.json 2026-06-27 12:57:38.359 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44351/resources/index.json 2026-06-27 12:57:40.397 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:40.398 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 12:57:40.400 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37905 2026-06-27 12:57:40.475 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37905/resources/index.json 2026-06-27 12:57:40.475 [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:37905/resources/index.json. 2026-06-27 12:57:40.476 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37905/resources/index.json 2026-06-27 12:57:40.480 [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-27 12:57:40.483 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 3ms 2026-06-27 12:57:40.484 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37905/resources/index.json 2026-06-27 12:57:40.484 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37905/resources/index.json 2026-06-27 12:57:40.484 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37905/resources/index.json 2026-06-27 12:57:40.485 [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:37905/resources/index.json. 2026-06-27 12:57:40.490 [Test worker @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37905/resources/index.json 2026-06-27 12:57:40.490 [Test worker @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:37905/resources/index.json. 2026-06-27 12:57:40.490 [Test worker @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37905/resources/index.json 2026-06-27 12:57:40.492 [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-27 12:57:40.493 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 12:57:40.494 [DefaultDispatcher-worker-6 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37905/resources/index.json 2026-06-27 12:57:40.494 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37905/resources/index.json 2026-06-27 12:57:40.494 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37905/resources/index.json 2026-06-27 12:57:42.531 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:42.532 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 12:57:42.536 [DefaultDispatcher-worker-6 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34289 2026-06-27 12:57:42.545 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34289/resources/lesson001.json 2026-06-27 12:57:42.545 [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:34289/resources/lesson001.json. 2026-06-27 12:57:42.545 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34289/resources/lesson001.json 2026-06-27 12:57:42.550 [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-27 12:57:42.552 [DefaultDispatcher-worker-6 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 3ms 2026-06-27 12:57:42.553 [DefaultDispatcher-worker-8 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34289/resources/lesson001.json 2026-06-27 12:57:42.556 [DefaultDispatcher-worker-8 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34289/resources/lesson001.json 2026-06-27 12:57:42.557 [DefaultDispatcher-worker-8 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34289/resources/lesson001.json 2026-06-27 12:57:42.564 [DefaultDispatcher-worker-8 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:34289/resources/lesson001.json. 2026-06-27 12:57:45.110 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:45.136 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.323 seconds. 2026-06-27 12:57:45.140 [DefaultDispatcher-worker-11 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35091 2026-06-27 12:57:45.176 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35091/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:45.177 [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:35091/api/school/respect/schoolpermissiongrant. 2026-06-27 12:57:45.177 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35091/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:45.189 [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-27 12:57:45.211 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35091/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:45.211 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35091/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:45.211 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35091/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:45.214 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35091/api/school/respect/schoolpermissiongrant. 2026-06-27 12:57:45.336 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.337 [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:35091/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:45.337 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.343 [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-27 12:57:45.398 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.399 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.399 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.401 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35091/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:45.433 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.434 [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:35091/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:45.434 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.438 [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-27 12:57:45.445 [DefaultDispatcher-worker-11 @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-27 12:57:45.451 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.452 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:45.452 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35091/api/school/respect/person?includeRelated=false 2026-06-27 12:57:47.667 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:47.668 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.063 seconds. 2026-06-27 12:57:47.678 [DefaultDispatcher-worker-6 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33711 2026-06-27 12:57:47.679 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33711/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:47.679 [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:33711/api/school/respect/schoolpermissiongrant. 2026-06-27 12:57:47.679 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33711/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:47.693 [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-27 12:57:47.708 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33711/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:47.709 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33711/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:47.709 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33711/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:47.710 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33711/api/school/respect/schoolpermissiongrant. 2026-06-27 12:57:47.787 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33711/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:57:47.787 [DefaultDispatcher-worker-4 @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:33711/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:57:47.787 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33711/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:57:47.790 [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-27 12:57:47.795 [DefaultDispatcher-worker-11 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33711/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:57:47.795 [DefaultDispatcher-worker-11 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33711/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:57:47.795 [DefaultDispatcher-worker-11 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33711/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 12:57:47.797 [DefaultDispatcher-worker-11 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33711/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 12:57:50.013 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:50.014 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.044 seconds. 2026-06-27 12:57:50.016 [DefaultDispatcher-worker-6 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43303 2026-06-27 12:57:50.019 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43303/api/school/respect/person?includeRelated=false 2026-06-27 12:57:50.019 [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:43303/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:50.019 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43303/api/school/respect/person?includeRelated=false 2026-06-27 12:57:50.022 [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-27 12:57:50.028 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43303/api/school/respect/person?includeRelated=false 2026-06-27 12:57:50.028 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43303/api/school/respect/person?includeRelated=false 2026-06-27 12:57:50.028 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43303/api/school/respect/person?includeRelated=false 2026-06-27 12:57:50.029 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43303/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:50.115 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43303/api/school/respect/person?since=2026-06-27T08%3A57%3A50.023788833Z&includeRelated=false 2026-06-27 12:57:50.115 [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:43303/api/school/respect/person?since=2026-06-27T08%3A57%3A50.023788833Z&includeRelated=false. 2026-06-27 12:57:50.115 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43303/api/school/respect/person?since=2026-06-27T08%3A57%3A50.023788833Z&includeRelated=false 2026-06-27 12:57:50.124 [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-27 12:57:50.133 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43303/api/school/respect/person?since=2026-06-27T08%3A57%3A50.023788833Z&includeRelated=false 2026-06-27 12:57:50.133 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43303/api/school/respect/person?since=2026-06-27T08%3A57%3A50.023788833Z&includeRelated=false 2026-06-27 12:57:50.133 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43303/api/school/respect/person?since=2026-06-27T08%3A57%3A50.023788833Z&includeRelated=false 2026-06-27 12:57:50.134 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43303/api/school/respect/person?since=2026-06-27T08%3A57%3A50.023788833Z&includeRelated=false. 2026-06-27 12:57:52.315 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:52.316 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.045 seconds. 2026-06-27 12:57:52.318 [DefaultDispatcher-worker-7 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36467 2026-06-27 12:57:52.369 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36467/api/school/respect/person 2026-06-27 12:57:52.369 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@43ac5cde for http://localhost:36467/api/school/respect/person 2026-06-27 12:57:52.369 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36467/api/school/respect/person 2026-06-27 12:57:52.370 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36467/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 12:57:52.374 [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-27 12:57:52.383 [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-27 12:57:52.386 [DefaultDispatcher-worker-11 @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-27 12:57:52.387 [DefaultDispatcher-worker-7 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36467/api/school/respect/person 2026-06-27 12:57:52.387 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36467/api/school/respect/person 2026-06-27 12:57:52.387 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36467/api/school/respect/person 2026-06-27 12:57:54.531 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:54.539 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.059 seconds. 2026-06-27 12:57:54.546 [DefaultDispatcher-worker-4 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42065 2026-06-27 12:57:54.547 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42065/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:54.547 [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:42065/api/school/respect/schoolpermissiongrant. 2026-06-27 12:57:54.547 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42065/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:54.551 [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-27 12:57:54.553 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42065/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:54.553 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42065/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:54.553 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42065/api/school/respect/schoolpermissiongrant 2026-06-27 12:57:54.554 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42065/api/school/respect/schoolpermissiongrant. 2026-06-27 12:57:54.619 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:54.619 [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:42065/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:54.619 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:54.625 [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-27 12:57:54.652 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:54.652 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:54.652 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:54.653 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42065/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:56.663 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:56.663 [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:42065/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:56.663 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:56.664 [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-27 12:57:56.667 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:56.668 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:56.668 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42065/api/school/respect/person?includeRelated=false 2026-06-27 12:57:56.669 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42065/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:58.809 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:57:58.810 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.048 seconds. 2026-06-27 12:57:58.811 [DefaultDispatcher-worker-3 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39451 2026-06-27 12:57:58.813 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39451/api/school/respect/person?includeRelated=false 2026-06-27 12:57:58.813 [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:39451/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:58.813 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39451/api/school/respect/person?includeRelated=false 2026-06-27 12:57:58.815 [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-27 12:57:58.819 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39451/api/school/respect/person?includeRelated=false 2026-06-27 12:57:58.819 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39451/api/school/respect/person?includeRelated=false 2026-06-27 12:57:58.819 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39451/api/school/respect/person?includeRelated=false 2026-06-27 12:57:58.820 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39451/api/school/respect/person?includeRelated=false. 2026-06-27 12:57:58.886 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39451/api/school/respect/person?since=2026-06-27T08%3A57%3A58.815994793Z&includeRelated=false 2026-06-27 12:57:58.886 [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:39451/api/school/respect/person?since=2026-06-27T08%3A57%3A58.815994793Z&includeRelated=false. 2026-06-27 12:57:58.886 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39451/api/school/respect/person?since=2026-06-27T08%3A57%3A58.815994793Z&includeRelated=false 2026-06-27 12:57:58.887 [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-27 12:57:58.890 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39451/api/school/respect/person?since=2026-06-27T08%3A57%3A58.815994793Z&includeRelated=false 2026-06-27 12:57:58.890 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39451/api/school/respect/person?since=2026-06-27T08%3A57%3A58.815994793Z&includeRelated=false 2026-06-27 12:57:58.890 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39451/api/school/respect/person?since=2026-06-27T08%3A57%3A58.815994793Z&includeRelated=false 2026-06-27 12:57:58.891 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39451/api/school/respect/person?since=2026-06-27T08%3A57%3A58.815994793Z&includeRelated=false. 2026-06-27 12:58:01.076 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:58:01.077 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-27 12:58:01.078 [DefaultDispatcher-worker-12 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43149 2026-06-27 12:58:01.080 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43149/playlist/4f373e51-ba6d-4c79-9518-f524fa7f8fee 2026-06-27 12:58:01.080 [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:43149/playlist/4f373e51-ba6d-4c79-9518-f524fa7f8fee. 2026-06-27 12:58:01.080 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43149/playlist/4f373e51-ba6d-4c79-9518-f524fa7f8fee 2026-06-27 12:58:01.082 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 4f373e51-ba6d-4c79-9518-f524fa7f8fee] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[4f373e51-ba6d-4c79-9518-f524fa7f8fee]] @ /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=[4f373e51-ba6d-4c79-9518-f524fa7f8fee]] @ /playlist/{uuid}/(method:GET) 2026-06-27 12:58:01.088 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43149/playlist/4f373e51-ba6d-4c79-9518-f524fa7f8fee 2026-06-27 12:58:01.088 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43149/playlist/4f373e51-ba6d-4c79-9518-f524fa7f8fee 2026-06-27 12:58:01.088 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43149/playlist/4f373e51-ba6d-4c79-9518-f524fa7f8fee 2026-06-27 12:58:01.088 [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:43149/playlist/4f373e51-ba6d-4c79-9518-f524fa7f8fee. 2026-06-27 12:58:03.331 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:58:03.332 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.048 seconds. 2026-06-27 12:58:03.333 [DefaultDispatcher-worker-12 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39417 2026-06-27 12:58:03.399 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39417/playlist/81938af9-4e6d-4581-b571-f420a93a1d9a 2026-06-27 12:58:03.399 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6f5382ed for http://localhost:39417/playlist/81938af9-4e6d-4581-b571-f420a93a1d9a 2026-06-27 12:58:03.399 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39417/playlist/81938af9-4e6d-4581-b571-f420a93a1d9a 2026-06-27 12:58:03.399 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39417/playlist/81938af9-4e6d-4581-b571-f420a93a1d9a from class io.ktor.http.content.TextContent 2026-06-27 12:58:03.411 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 81938af9-4e6d-4581-b571-f420a93a1d9a] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[81938af9-4e6d-4581-b571-f420a93a1d9a]] @ /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=[81938af9-4e6d-4581-b571-f420a93a1d9a]] @ /playlist/{uuid}/(method:POST) 2026-06-27 12:58:03.415 [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/81938af9-4e6d-4581-b571-f420a93a1d9a 2026-06-27 12:58:03.420 [DefaultDispatcher-worker-3 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/81938af9-4e6d-4581-b571-f420a93a1d9a request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 12:58:03.426 [DefaultDispatcher-worker-8 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39417/playlist/81938af9-4e6d-4581-b571-f420a93a1d9a 2026-06-27 12:58:03.426 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39417/playlist/81938af9-4e6d-4581-b571-f420a93a1d9a 2026-06-27 12:58:03.426 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39417/playlist/81938af9-4e6d-4581-b571-f420a93a1d9a 2026-06-27 12:58:05.545 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:58:05.547 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-27 12:58:05.548 [DefaultDispatcher-worker-11 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37607 2026-06-27 12:58:05.635 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37607/api/school/xapi/statements 2026-06-27 12:58:05.637 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@15923c0c for http://localhost:37607/api/school/xapi/statements 2026-06-27 12:58:05.637 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37607/api/school/xapi/statements 2026-06-27 12:58:05.637 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:37607/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 12:58:05.640 [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-27 12:58:05.641 [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-27 12:58:05.650 [DefaultDispatcher-worker-10 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37607/api/school/xapi/statements 2026-06-27 12:58:05.651 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37607/api/school/xapi/statements 2026-06-27 12:58:05.651 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37607/api/school/xapi/statements 2026-06-27 12:58:05.651 [DefaultDispatcher-worker-10 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37607/api/school/xapi/statements. 2026-06-27 12:58:07.763 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 12:58:07.764 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.055 seconds. 2026-06-27 12:58:07.765 [DefaultDispatcher-worker-4 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41985 2026-06-27 12:58:07.814 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41985/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:58:07.814 [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:41985/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 12:58:07.814 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41985/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:58:07.818 [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-27 12:58:07.822 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41985/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:58:07.822 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41985/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:58:07.822 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41985/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 12:58:07.823 [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:41985/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 13:11:12.270 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:12.412 [Test worker] INFO io.ktor.server.Application - Application started in 0.303 seconds. 2026-06-27 13:11:12.511 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36579 2026-06-27 13:11:13.620 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36579/resources/index.json 2026-06-27 13:11:13.628 [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:36579/resources/index.json. 2026-06-27 13:11:13.628 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36579/resources/index.json 2026-06-27 13:11:13.925 [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-27 13:11:14.082 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 165ms 2026-06-27 13:11:14.113 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36579/resources/index.json 2026-06-27 13:11:14.117 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36579/resources/index.json 2026-06-27 13:11:14.118 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36579/resources/index.json 2026-06-27 13:11:14.164 [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:36579/resources/index.json. 2026-06-27 13:11:14.291 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36579/resources/index.json 2026-06-27 13:11:14.292 [DefaultDispatcher-worker-5 @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:36579/resources/index.json. 2026-06-27 13:11:14.295 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36579/resources/index.json 2026-06-27 13:11:14.310 [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-27 13:11:14.316 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 6ms 2026-06-27 13:11:14.324 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36579/resources/index.json 2026-06-27 13:11:14.325 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36579/resources/index.json 2026-06-27 13:11:14.325 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36579/resources/index.json 2026-06-27 13:11:15.362 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@25a291db 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-27 13:11:16.379 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:16.380 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 13:11:16.381 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33233 2026-06-27 13:11:16.455 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33233/resources/index.json 2026-06-27 13:11:16.455 [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:33233/resources/index.json. 2026-06-27 13:11:16.455 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33233/resources/index.json 2026-06-27 13:11:16.459 [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-27 13:11:16.460 [DefaultDispatcher-worker-2 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-27 13:11:16.461 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33233/resources/index.json 2026-06-27 13:11:16.462 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33233/resources/index.json 2026-06-27 13:11:16.462 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33233/resources/index.json 2026-06-27 13:11:16.463 [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:33233/resources/index.json. 2026-06-27 13:11:16.469 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33233/resources/index.json 2026-06-27 13:11:16.469 [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:33233/resources/index.json. 2026-06-27 13:11:16.469 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33233/resources/index.json 2026-06-27 13:11:16.471 [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-27 13:11:16.472 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 13:11:16.473 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33233/resources/index.json 2026-06-27 13:11:16.473 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33233/resources/index.json 2026-06-27 13:11:16.473 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33233/resources/index.json 2026-06-27 13:11:18.513 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:18.513 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 13:11:18.515 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39415 2026-06-27 13:11:18.522 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39415/resources/lesson001.json 2026-06-27 13:11:18.523 [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:39415/resources/lesson001.json. 2026-06-27 13:11:18.523 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39415/resources/lesson001.json 2026-06-27 13:11:18.527 [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-27 13:11:18.528 [eventLoopGroupProxy-10-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-27 13:11:18.529 [DefaultDispatcher-worker-1 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39415/resources/lesson001.json 2026-06-27 13:11:18.530 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39415/resources/lesson001.json 2026-06-27 13:11:18.530 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39415/resources/lesson001.json 2026-06-27 13:11:18.533 [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:39415/resources/lesson001.json. 2026-06-27 13:11:21.063 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:21.086 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.298 seconds. 2026-06-27 13:11:21.101 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33475 2026-06-27 13:11:21.155 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33475/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:21.156 [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:33475/api/school/respect/schoolpermissiongrant. 2026-06-27 13:11:21.156 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33475/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:21.190 [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-27 13:11:21.236 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33475/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:21.237 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33475/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:21.238 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33475/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:21.241 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33475/api/school/respect/schoolpermissiongrant. 2026-06-27 13:11:21.346 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.347 [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:33475/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:21.347 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.351 [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-27 13:11:21.383 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.383 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.383 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.385 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33475/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:21.393 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.393 [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:33475/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:21.393 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.400 [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-27 13:11:21.404 [eventLoopGroupProxy-13-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-27 13:11:21.406 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.406 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:21.406 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33475/api/school/respect/person?includeRelated=false 2026-06-27 13:11:23.587 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:23.596 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.057 seconds. 2026-06-27 13:11:23.622 [DefaultDispatcher-worker-4 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43039 2026-06-27 13:11:23.633 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43039/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:23.634 [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:43039/api/school/respect/schoolpermissiongrant. 2026-06-27 13:11:23.634 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43039/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:23.645 [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-27 13:11:23.651 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43039/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:23.652 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43039/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:23.652 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43039/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:23.654 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43039/api/school/respect/schoolpermissiongrant. 2026-06-27 13:11:23.821 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43039/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:11:23.821 [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:43039/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 13:11:23.822 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43039/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:11:23.827 [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-27 13:11:23.846 [DefaultDispatcher-worker-6 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43039/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:11:23.848 [DefaultDispatcher-worker-8 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43039/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:11:23.849 [DefaultDispatcher-worker-8 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43039/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:11:23.850 [DefaultDispatcher-worker-8 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43039/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 13:11:26.038 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:26.039 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.063 seconds. 2026-06-27 13:11:26.046 [DefaultDispatcher-worker-8 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43847 2026-06-27 13:11:26.052 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43847/api/school/respect/person?includeRelated=false 2026-06-27 13:11:26.052 [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:43847/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:26.053 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43847/api/school/respect/person?includeRelated=false 2026-06-27 13:11:26.065 [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-27 13:11:26.074 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43847/api/school/respect/person?includeRelated=false 2026-06-27 13:11:26.074 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43847/api/school/respect/person?includeRelated=false 2026-06-27 13:11:26.074 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43847/api/school/respect/person?includeRelated=false 2026-06-27 13:11:26.075 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43847/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:26.163 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43847/api/school/respect/person?since=2026-06-27T09%3A11%3A26.068811900Z&includeRelated=false 2026-06-27 13:11:26.163 [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:43847/api/school/respect/person?since=2026-06-27T09%3A11%3A26.068811900Z&includeRelated=false. 2026-06-27 13:11:26.163 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43847/api/school/respect/person?since=2026-06-27T09%3A11%3A26.068811900Z&includeRelated=false 2026-06-27 13:11:26.167 [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-27 13:11:26.172 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43847/api/school/respect/person?since=2026-06-27T09%3A11%3A26.068811900Z&includeRelated=false 2026-06-27 13:11:26.173 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43847/api/school/respect/person?since=2026-06-27T09%3A11%3A26.068811900Z&includeRelated=false 2026-06-27 13:11:26.173 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43847/api/school/respect/person?since=2026-06-27T09%3A11%3A26.068811900Z&includeRelated=false 2026-06-27 13:11:26.174 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43847/api/school/respect/person?since=2026-06-27T09%3A11%3A26.068811900Z&includeRelated=false. 2026-06-27 13:11:28.328 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:28.329 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.053 seconds. 2026-06-27 13:11:28.331 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35773 2026-06-27 13:11:28.377 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35773/api/school/respect/person 2026-06-27 13:11:28.377 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@a52b3a4 for http://localhost:35773/api/school/respect/person 2026-06-27 13:11:28.377 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35773/api/school/respect/person 2026-06-27 13:11:28.378 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35773/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 13:11:28.381 [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-27 13:11:28.388 [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-27 13:11:28.390 [DefaultDispatcher-worker-7 @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-27 13:11:28.391 [DefaultDispatcher-worker-7 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35773/api/school/respect/person 2026-06-27 13:11:28.391 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35773/api/school/respect/person 2026-06-27 13:11:28.391 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35773/api/school/respect/person 2026-06-27 13:11:30.520 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:30.520 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-27 13:11:30.522 [DefaultDispatcher-worker-9 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44573 2026-06-27 13:11:30.524 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44573/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:30.524 [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:44573/api/school/respect/schoolpermissiongrant. 2026-06-27 13:11:30.524 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44573/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:30.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-27 13:11:30.529 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44573/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:30.530 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44573/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:30.530 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44573/api/school/respect/schoolpermissiongrant 2026-06-27 13:11:30.530 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44573/api/school/respect/schoolpermissiongrant. 2026-06-27 13:11:30.572 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:30.572 [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:44573/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:30.572 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:30.574 [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-27 13:11:30.580 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:30.580 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:30.580 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:30.581 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44573/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:32.587 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:32.587 [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:44573/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:32.587 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:32.588 [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-27 13:11:32.591 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:32.591 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:32.591 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44573/api/school/respect/person?includeRelated=false 2026-06-27 13:11:32.592 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44573/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:34.718 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:34.718 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 13:11:34.719 [DefaultDispatcher-worker-6 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38967 2026-06-27 13:11:34.722 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38967/api/school/respect/person?includeRelated=false 2026-06-27 13:11:34.722 [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:38967/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:34.722 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38967/api/school/respect/person?includeRelated=false 2026-06-27 13:11:34.725 [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-27 13:11:34.734 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38967/api/school/respect/person?includeRelated=false 2026-06-27 13:11:34.734 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38967/api/school/respect/person?includeRelated=false 2026-06-27 13:11:34.734 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38967/api/school/respect/person?includeRelated=false 2026-06-27 13:11:34.736 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38967/api/school/respect/person?includeRelated=false. 2026-06-27 13:11:34.813 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38967/api/school/respect/person?since=2026-06-27T09%3A11%3A34.725548315Z&includeRelated=false 2026-06-27 13:11:34.813 [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:38967/api/school/respect/person?since=2026-06-27T09%3A11%3A34.725548315Z&includeRelated=false. 2026-06-27 13:11:34.813 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38967/api/school/respect/person?since=2026-06-27T09%3A11%3A34.725548315Z&includeRelated=false 2026-06-27 13:11:34.815 [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-27 13:11:34.818 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38967/api/school/respect/person?since=2026-06-27T09%3A11%3A34.725548315Z&includeRelated=false 2026-06-27 13:11:34.818 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38967/api/school/respect/person?since=2026-06-27T09%3A11%3A34.725548315Z&includeRelated=false 2026-06-27 13:11:34.818 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38967/api/school/respect/person?since=2026-06-27T09%3A11%3A34.725548315Z&includeRelated=false 2026-06-27 13:11:34.819 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38967/api/school/respect/person?since=2026-06-27T09%3A11%3A34.725548315Z&includeRelated=false. 2026-06-27 13:11:37.000 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:37.001 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.063 seconds. 2026-06-27 13:11:37.002 [DefaultDispatcher-worker-2 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38233 2026-06-27 13:11:37.010 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38233/playlist/41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f 2026-06-27 13:11:37.013 [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:38233/playlist/41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f. 2026-06-27 13:11:37.013 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38233/playlist/41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f 2026-06-27 13:11:37.024 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f]] @ /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=[41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f]] @ /playlist/{uuid}/(method:GET) 2026-06-27 13:11:37.038 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38233/playlist/41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f 2026-06-27 13:11:37.039 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38233/playlist/41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f 2026-06-27 13:11:37.039 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38233/playlist/41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f 2026-06-27 13:11:37.040 [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:38233/playlist/41f6850f-9b2d-49fa-8cb9-603fd6ae0e6f. 2026-06-27 13:11:39.265 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:39.266 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.061 seconds. 2026-06-27 13:11:39.278 [DefaultDispatcher-worker-2 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38483 2026-06-27 13:11:39.335 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38483/playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 2026-06-27 13:11:39.336 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2613e8fa for http://localhost:38483/playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 2026-06-27 13:11:39.336 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38483/playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 2026-06-27 13:11:39.336 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38483/playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 from class io.ktor.http.content.TextContent 2026-06-27 13:11:39.339 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, e5a9b3bb-8e4e-402a-bdc7-7633052947c5] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[e5a9b3bb-8e4e-402a-bdc7-7633052947c5]] @ /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=[e5a9b3bb-8e4e-402a-bdc7-7633052947c5]] @ /playlist/{uuid}/(method:POST) 2026-06-27 13:11:39.339 [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/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 2026-06-27 13:11:39.340 [DefaultDispatcher-worker-9 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 13:11:39.341 [DefaultDispatcher-worker-1 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38483/playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 2026-06-27 13:11:39.341 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38483/playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 2026-06-27 13:11:39.341 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38483/playlist/e5a9b3bb-8e4e-402a-bdc7-7633052947c5 2026-06-27 13:11:41.448 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:41.450 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 13:11:41.451 [DefaultDispatcher-worker-1 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43267 2026-06-27 13:11:41.529 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43267/api/school/xapi/statements 2026-06-27 13:11:41.531 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@559b0338 for http://localhost:43267/api/school/xapi/statements 2026-06-27 13:11:41.531 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43267/api/school/xapi/statements 2026-06-27 13:11:41.531 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:43267/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 13:11:41.534 [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-27 13:11:41.534 [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-27 13:11:41.545 [DefaultDispatcher-worker-3 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43267/api/school/xapi/statements 2026-06-27 13:11:41.545 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43267/api/school/xapi/statements 2026-06-27 13:11:41.545 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43267/api/school/xapi/statements 2026-06-27 13:11:41.545 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43267/api/school/xapi/statements. 2026-06-27 13:11:43.647 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:11:43.648 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 13:11:43.649 [DefaultDispatcher-worker-3 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35925 2026-06-27 13:11:43.697 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35925/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:11:43.697 [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:35925/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 13:11:43.697 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35925/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:11:43.699 [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-27 13:11:43.704 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35925/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:11:43.705 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35925/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:11:43.705 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35925/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:11:43.705 [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:35925/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 13:34:21.688 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:21.806 [Test worker] INFO io.ktor.server.Application - Application started in 0.285 seconds. 2026-06-27 13:34:21.912 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46033 2026-06-27 13:34:22.678 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46033/resources/index.json 2026-06-27 13:34:22.679 [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:46033/resources/index.json. 2026-06-27 13:34:22.679 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46033/resources/index.json 2026-06-27 13:34:22.800 [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-27 13:34:22.848 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 54ms 2026-06-27 13:34:22.853 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46033/resources/index.json 2026-06-27 13:34:22.856 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46033/resources/index.json 2026-06-27 13:34:22.856 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46033/resources/index.json 2026-06-27 13:34:22.879 [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:46033/resources/index.json. 2026-06-27 13:34:22.913 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46033/resources/index.json 2026-06-27 13:34:22.913 [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:46033/resources/index.json. 2026-06-27 13:34:22.913 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46033/resources/index.json 2026-06-27 13:34:22.916 [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-27 13:34:22.917 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 13:34:22.918 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46033/resources/index.json 2026-06-27 13:34:22.918 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46033/resources/index.json 2026-06-27 13:34:22.918 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46033/resources/index.json 2026-06-27 13:34:24.932 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:24.933 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 13:34:24.935 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34641 2026-06-27 13:34:24.992 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34641/resources/index.json 2026-06-27 13:34:24.992 [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:34641/resources/index.json. 2026-06-27 13:34:24.992 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34641/resources/index.json 2026-06-27 13:34:24.996 [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-27 13:34:24.997 [DefaultDispatcher-worker-2 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-27 13:34:24.998 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34641/resources/index.json 2026-06-27 13:34:24.998 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34641/resources/index.json 2026-06-27 13:34:24.998 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34641/resources/index.json 2026-06-27 13:34:24.999 [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:34641/resources/index.json. 2026-06-27 13:34:25.004 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34641/resources/index.json 2026-06-27 13:34:25.004 [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:34641/resources/index.json. 2026-06-27 13:34:25.004 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34641/resources/index.json 2026-06-27 13:34:25.006 [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-27 13:34:25.007 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 13:34:25.007 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34641/resources/index.json 2026-06-27 13:34:25.008 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34641/resources/index.json 2026-06-27 13:34:25.008 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34641/resources/index.json 2026-06-27 13:34:27.014 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:27.014 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 13:34:27.015 [DefaultDispatcher-worker-4 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46693 2026-06-27 13:34:27.020 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46693/resources/lesson001.json 2026-06-27 13:34:27.020 [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:46693/resources/lesson001.json. 2026-06-27 13:34:27.020 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46693/resources/lesson001.json 2026-06-27 13:34:27.023 [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-27 13:34:27.024 [DefaultDispatcher-worker-5 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-27 13:34:27.025 [DefaultDispatcher-worker-5 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46693/resources/lesson001.json 2026-06-27 13:34:27.025 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46693/resources/lesson001.json 2026-06-27 13:34:27.025 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46693/resources/lesson001.json 2026-06-27 13:34:27.028 [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:46693/resources/lesson001.json. 2026-06-27 13:34:29.368 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:29.374 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.156 seconds. 2026-06-27 13:34:29.376 [DefaultDispatcher-worker-5 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46105 2026-06-27 13:34:29.383 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46105/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:29.383 [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:46105/api/school/respect/schoolpermissiongrant. 2026-06-27 13:34:29.383 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46105/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:29.387 [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-27 13:34:29.398 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46105/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:29.398 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46105/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:29.398 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46105/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:29.399 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46105/api/school/respect/schoolpermissiongrant. 2026-06-27 13:34:29.547 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.547 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:46105/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:29.547 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.549 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-27 13:34:29.563 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.564 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.564 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.565 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46105/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:29.569 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.569 [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:46105/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:29.569 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.571 [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-27 13:34:29.572 [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-27 13:34:29.573 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.573 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:29.573 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46105/api/school/respect/person?includeRelated=false 2026-06-27 13:34:31.715 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:31.715 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.056 seconds. 2026-06-27 13:34:31.717 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40287 2026-06-27 13:34:31.718 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40287/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:31.718 [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:40287/api/school/respect/schoolpermissiongrant. 2026-06-27 13:34:31.718 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40287/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:31.720 [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-27 13:34:31.722 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40287/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:31.722 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40287/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:31.722 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40287/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:31.722 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40287/api/school/respect/schoolpermissiongrant. 2026-06-27 13:34:31.777 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40287/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:34:31.777 [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:40287/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 13:34:31.777 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40287/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:34:31.778 [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-27 13:34:31.781 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40287/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:34:31.781 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40287/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:34:31.781 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40287/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:34:31.782 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40287/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 13:34:33.931 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:33.932 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.056 seconds. 2026-06-27 13:34:33.933 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36511 2026-06-27 13:34:33.935 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-27 13:34:33.935 [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:36511/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:33.935 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-27 13:34:33.937 [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-27 13:34:33.941 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-27 13:34:33.941 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-27 13:34:33.941 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36511/api/school/respect/person?includeRelated=false 2026-06-27 13:34:33.942 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36511/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:34.008 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36511/api/school/respect/person?since=2026-06-27T09%3A34%3A33.938199224Z&includeRelated=false 2026-06-27 13:34:34.008 [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:36511/api/school/respect/person?since=2026-06-27T09%3A34%3A33.938199224Z&includeRelated=false. 2026-06-27 13:34:34.008 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36511/api/school/respect/person?since=2026-06-27T09%3A34%3A33.938199224Z&includeRelated=false 2026-06-27 13:34:34.010 [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-27 13:34:34.012 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36511/api/school/respect/person?since=2026-06-27T09%3A34%3A33.938199224Z&includeRelated=false 2026-06-27 13:34:34.012 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36511/api/school/respect/person?since=2026-06-27T09%3A34%3A33.938199224Z&includeRelated=false 2026-06-27 13:34:34.012 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36511/api/school/respect/person?since=2026-06-27T09%3A34%3A33.938199224Z&includeRelated=false 2026-06-27 13:34:34.013 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36511/api/school/respect/person?since=2026-06-27T09%3A34%3A33.938199224Z&includeRelated=false. 2026-06-27 13:34:36.122 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:36.123 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 13:34:36.124 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39281 2026-06-27 13:34:36.167 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39281/api/school/respect/person 2026-06-27 13:34:36.167 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@5f8bf900 for http://localhost:39281/api/school/respect/person 2026-06-27 13:34:36.167 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39281/api/school/respect/person 2026-06-27 13:34:36.167 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39281/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 13:34:36.170 [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-27 13:34:36.178 [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-27 13:34:36.180 [DefaultDispatcher-worker-4 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 13:34:36.181 [DefaultDispatcher-worker-5 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39281/api/school/respect/person 2026-06-27 13:34:36.181 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39281/api/school/respect/person 2026-06-27 13:34:36.181 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39281/api/school/respect/person 2026-06-27 13:34:38.293 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:38.294 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 13:34:38.295 [DefaultDispatcher-worker-4 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33755 2026-06-27 13:34:38.296 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33755/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:38.296 [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:33755/api/school/respect/schoolpermissiongrant. 2026-06-27 13:34:38.296 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33755/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:38.298 [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-27 13:34:38.300 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33755/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:38.300 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33755/api/school/respect/schoolpermissiongrant 2026-06-27 13:34:38.300 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33755/api/school/respect/schoolpermissiongrant 2026-06-27 13:34: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:33755/api/school/respect/schoolpermissiongrant. 2026-06-27 13:34:38.356 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:38.356 [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:33755/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:38.356 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:38.357 [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-27 13:34:38.362 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:38.362 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:38.362 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:38.363 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33755/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:40.368 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:40.369 [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:33755/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:40.369 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:40.370 [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-27 13:34:40.373 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:40.373 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:40.373 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33755/api/school/respect/person?includeRelated=false 2026-06-27 13:34:40.374 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33755/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:42.505 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:42.506 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 13:34:42.507 [DefaultDispatcher-worker-6 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38977 2026-06-27 13:34:42.509 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38977/api/school/respect/person?includeRelated=false 2026-06-27 13:34:42.509 [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:38977/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:42.509 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38977/api/school/respect/person?includeRelated=false 2026-06-27 13:34:42.511 [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-27 13:34:42.515 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38977/api/school/respect/person?includeRelated=false 2026-06-27 13:34:42.515 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38977/api/school/respect/person?includeRelated=false 2026-06-27 13:34:42.515 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38977/api/school/respect/person?includeRelated=false 2026-06-27 13:34:42.516 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38977/api/school/respect/person?includeRelated=false. 2026-06-27 13:34:42.558 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38977/api/school/respect/person?since=2026-06-27T09%3A34%3A42.512090550Z&includeRelated=false 2026-06-27 13:34:42.558 [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:38977/api/school/respect/person?since=2026-06-27T09%3A34%3A42.512090550Z&includeRelated=false. 2026-06-27 13:34:42.558 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38977/api/school/respect/person?since=2026-06-27T09%3A34%3A42.512090550Z&includeRelated=false 2026-06-27 13:34:42.559 [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-27 13:34:42.563 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38977/api/school/respect/person?since=2026-06-27T09%3A34%3A42.512090550Z&includeRelated=false 2026-06-27 13:34:42.563 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38977/api/school/respect/person?since=2026-06-27T09%3A34%3A42.512090550Z&includeRelated=false 2026-06-27 13:34:42.563 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38977/api/school/respect/person?since=2026-06-27T09%3A34%3A42.512090550Z&includeRelated=false 2026-06-27 13:34:42.563 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38977/api/school/respect/person?since=2026-06-27T09%3A34%3A42.512090550Z&includeRelated=false. 2026-06-27 13:34:44.687 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:44.689 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-27 13:34:44.690 [DefaultDispatcher-worker-5 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34445 2026-06-27 13:34:44.691 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34445/playlist/2cd0eeeb-75c0-4302-8001-2b0a2fb68772 2026-06-27 13:34:44.691 [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:34445/playlist/2cd0eeeb-75c0-4302-8001-2b0a2fb68772. 2026-06-27 13:34:44.691 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34445/playlist/2cd0eeeb-75c0-4302-8001-2b0a2fb68772 2026-06-27 13:34:44.694 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 2cd0eeeb-75c0-4302-8001-2b0a2fb68772] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[2cd0eeeb-75c0-4302-8001-2b0a2fb68772]] @ /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=[2cd0eeeb-75c0-4302-8001-2b0a2fb68772]] @ /playlist/{uuid}/(method:GET) 2026-06-27 13:34:44.699 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34445/playlist/2cd0eeeb-75c0-4302-8001-2b0a2fb68772 2026-06-27 13:34:44.699 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34445/playlist/2cd0eeeb-75c0-4302-8001-2b0a2fb68772 2026-06-27 13:34:44.699 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34445/playlist/2cd0eeeb-75c0-4302-8001-2b0a2fb68772 2026-06-27 13:34:44.700 [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:34445/playlist/2cd0eeeb-75c0-4302-8001-2b0a2fb68772. 2026-06-27 13:34:46.942 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:46.943 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 13:34:46.944 [DefaultDispatcher-worker-4 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37047 2026-06-27 13:34:46.985 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37047/playlist/d71dd538-f5f3-4de4-943d-7d861e67e71e 2026-06-27 13:34:46.985 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@2019e34b for http://localhost:37047/playlist/d71dd538-f5f3-4de4-943d-7d861e67e71e 2026-06-27 13:34:46.985 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37047/playlist/d71dd538-f5f3-4de4-943d-7d861e67e71e 2026-06-27 13:34:46.985 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:37047/playlist/d71dd538-f5f3-4de4-943d-7d861e67e71e from class io.ktor.http.content.TextContent 2026-06-27 13:34:46.988 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, d71dd538-f5f3-4de4-943d-7d861e67e71e] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[d71dd538-f5f3-4de4-943d-7d861e67e71e]] @ /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=[d71dd538-f5f3-4de4-943d-7d861e67e71e]] @ /playlist/{uuid}/(method:POST) 2026-06-27 13:34:46.988 [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/d71dd538-f5f3-4de4-943d-7d861e67e71e 2026-06-27 13:34:46.989 [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/d71dd538-f5f3-4de4-943d-7d861e67e71e request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 13:34:46.990 [DefaultDispatcher-worker-3 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37047/playlist/d71dd538-f5f3-4de4-943d-7d861e67e71e 2026-06-27 13:34:46.990 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37047/playlist/d71dd538-f5f3-4de4-943d-7d861e67e71e 2026-06-27 13:34:46.990 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37047/playlist/d71dd538-f5f3-4de4-943d-7d861e67e71e 2026-06-27 13:34:49.096 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:49.098 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-27 13:34:49.099 [DefaultDispatcher-worker-3 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38601 2026-06-27 13:34:49.176 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38601/api/school/xapi/statements 2026-06-27 13:34:49.178 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@5cbd19fc for http://localhost:38601/api/school/xapi/statements 2026-06-27 13:34:49.178 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38601/api/school/xapi/statements 2026-06-27 13:34:49.178 [DefaultDispatcher-worker-3 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38601/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 13:34:49.180 [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-27 13:34:49.181 [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-27 13:34:49.189 [DefaultDispatcher-worker-4 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38601/api/school/xapi/statements 2026-06-27 13:34:49.189 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38601/api/school/xapi/statements 2026-06-27 13:34:49.189 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38601/api/school/xapi/statements 2026-06-27 13:34:49.189 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38601/api/school/xapi/statements. 2026-06-27 13:34:51.294 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:34:51.294 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 13:34:51.295 [DefaultDispatcher-worker-3 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42431 2026-06-27 13:34:51.348 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:34:51.348 [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:42431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 13:34:51.348 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:34:51.350 [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-27 13:34:51.355 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:34:51.355 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:34:51.355 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:34:51.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:42431/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 13:59:25.675 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:25.850 [Test worker] INFO io.ktor.server.Application - Application started in 0.344 seconds. 2026-06-27 13:59:25.943 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38231 2026-06-27 13:59:26.931 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38231/resources/index.json 2026-06-27 13:59:26.932 [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:38231/resources/index.json. 2026-06-27 13:59:26.932 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38231/resources/index.json 2026-06-27 13:59:27.049 [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-27 13:59:27.091 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 47ms 2026-06-27 13:59:27.095 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38231/resources/index.json 2026-06-27 13:59:27.096 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38231/resources/index.json 2026-06-27 13:59:27.097 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38231/resources/index.json 2026-06-27 13:59:27.115 [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:38231/resources/index.json. 2026-06-27 13:59:27.145 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38231/resources/index.json 2026-06-27 13:59:27.145 [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:38231/resources/index.json. 2026-06-27 13:59:27.146 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38231/resources/index.json 2026-06-27 13:59:27.148 [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-27 13:59:27.150 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 13:59:27.151 [DefaultDispatcher-worker-3 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38231/resources/index.json 2026-06-27 13:59:27.151 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38231/resources/index.json 2026-06-27 13:59:27.151 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38231/resources/index.json 2026-06-27 13:59:29.162 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:29.163 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 13:59:29.164 [DefaultDispatcher-worker-3 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38425 2026-06-27 13:59:29.224 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38425/resources/index.json 2026-06-27 13:59:29.225 [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:38425/resources/index.json. 2026-06-27 13:59:29.225 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38425/resources/index.json 2026-06-27 13:59:29.228 [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-27 13:59:29.229 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-27 13:59:29.229 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38425/resources/index.json 2026-06-27 13:59:29.230 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38425/resources/index.json 2026-06-27 13:59:29.230 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38425/resources/index.json 2026-06-27 13:59:29.230 [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:38425/resources/index.json. 2026-06-27 13:59:29.235 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38425/resources/index.json 2026-06-27 13:59:29.235 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38425/resources/index.json. 2026-06-27 13:59:29.235 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38425/resources/index.json 2026-06-27 13:59:29.237 [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-27 13:59:29.238 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms 2026-06-27 13:59:29.238 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38425/resources/index.json 2026-06-27 13:59:29.238 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38425/resources/index.json 2026-06-27 13:59:29.238 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38425/resources/index.json 2026-06-27 13:59:31.244 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:31.244 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 13:59:31.245 [DefaultDispatcher-worker-1 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39663 2026-06-27 13:59:31.251 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39663/resources/lesson001.json 2026-06-27 13:59:31.251 [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:39663/resources/lesson001.json. 2026-06-27 13:59:31.251 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39663/resources/lesson001.json 2026-06-27 13:59:31.254 [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-27 13:59:31.255 [eventLoopGroupProxy-10-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-27 13:59:31.256 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39663/resources/lesson001.json 2026-06-27 13:59:31.256 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39663/resources/lesson001.json 2026-06-27 13:59:31.256 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39663/resources/lesson001.json 2026-06-27 13:59:31.259 [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:39663/resources/lesson001.json. 2026-06-27 13:59:33.492 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:33.500 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.109 seconds. 2026-06-27 13:59:33.503 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33773 2026-06-27 13:59:33.512 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33773/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:33.513 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33773/api/school/respect/schoolpermissiongrant. 2026-06-27 13:59:33.513 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33773/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:33.518 [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-27 13:59:33.533 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33773/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:33.534 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33773/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:33.534 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33773/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:33.536 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33773/api/school/respect/schoolpermissiongrant. 2026-06-27 13:59:33.600 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.600 [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:33773/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:33.600 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.602 [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-27 13:59:33.624 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.625 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.625 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.626 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33773/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:33.633 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.633 [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:33773/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:33.634 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.636 [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-27 13:59:33.638 [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-27 13:59:33.639 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.640 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:33.640 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33773/api/school/respect/person?includeRelated=false 2026-06-27 13:59:35.742 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:35.743 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-27 13:59:35.744 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40179 2026-06-27 13:59:35.745 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40179/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:35.745 [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:40179/api/school/respect/schoolpermissiongrant. 2026-06-27 13:59:35.745 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40179/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:35.748 [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-27 13:59:35.750 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40179/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:35.750 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40179/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:35.750 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40179/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:35.750 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40179/api/school/respect/schoolpermissiongrant. 2026-06-27 13:59:35.797 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40179/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:59:35.797 [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:40179/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 13:59:35.797 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40179/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:59:35.799 [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-27 13:59:35.801 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40179/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:59:35.801 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40179/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:59:35.802 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40179/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 13:59:35.802 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40179/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 13:59:37.922 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:37.923 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 13:59:37.924 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44021 2026-06-27 13:59:37.927 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44021/api/school/respect/person?includeRelated=false 2026-06-27 13:59:37.927 [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:44021/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:37.927 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44021/api/school/respect/person?includeRelated=false 2026-06-27 13:59:37.929 [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-27 13:59:37.933 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44021/api/school/respect/person?includeRelated=false 2026-06-27 13:59:37.933 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44021/api/school/respect/person?includeRelated=false 2026-06-27 13:59:37.933 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44021/api/school/respect/person?includeRelated=false 2026-06-27 13:59:37.934 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44021/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:37.990 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44021/api/school/respect/person?since=2026-06-27T09%3A59%3A37.930122160Z&includeRelated=false 2026-06-27 13:59:37.990 [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:44021/api/school/respect/person?since=2026-06-27T09%3A59%3A37.930122160Z&includeRelated=false. 2026-06-27 13:59:37.990 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44021/api/school/respect/person?since=2026-06-27T09%3A59%3A37.930122160Z&includeRelated=false 2026-06-27 13:59:37.992 [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-27 13:59:37.995 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44021/api/school/respect/person?since=2026-06-27T09%3A59%3A37.930122160Z&includeRelated=false 2026-06-27 13:59:37.995 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44021/api/school/respect/person?since=2026-06-27T09%3A59%3A37.930122160Z&includeRelated=false 2026-06-27 13:59:37.995 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44021/api/school/respect/person?since=2026-06-27T09%3A59%3A37.930122160Z&includeRelated=false 2026-06-27 13:59:37.996 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44021/api/school/respect/person?since=2026-06-27T09%3A59%3A37.930122160Z&includeRelated=false. 2026-06-27 13:59:40.091 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:40.091 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 13:59:40.092 [DefaultDispatcher-worker-4 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43777 2026-06-27 13:59:40.136 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43777/api/school/respect/person 2026-06-27 13:59:40.137 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@b175266 for http://localhost:43777/api/school/respect/person 2026-06-27 13:59:40.137 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43777/api/school/respect/person 2026-06-27 13:59:40.137 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:43777/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 13:59:40.140 [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-27 13:59:40.146 [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-27 13:59:40.148 [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-27 13:59:40.148 [DefaultDispatcher-worker-4 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43777/api/school/respect/person 2026-06-27 13:59:40.148 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43777/api/school/respect/person 2026-06-27 13:59:40.148 [DefaultDispatcher-worker-4 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43777/api/school/respect/person 2026-06-27 13:59:42.254 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:42.255 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 13:59:42.258 [DefaultDispatcher-worker-1 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38601 2026-06-27 13:59:42.259 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38601/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:42.259 [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:38601/api/school/respect/schoolpermissiongrant. 2026-06-27 13:59:42.259 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38601/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:42.261 [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-27 13:59:42.263 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38601/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:42.263 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38601/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:42.263 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38601/api/school/respect/schoolpermissiongrant 2026-06-27 13:59:42.263 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38601/api/school/respect/schoolpermissiongrant. 2026-06-27 13:59:42.304 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:42.304 [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:38601/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:42.304 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:42.305 [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-27 13:59:42.311 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:42.311 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:42.311 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:42.312 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38601/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:44.317 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:44.318 [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:38601/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:44.318 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:44.319 [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-27 13:59:44.322 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:44.322 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:44.322 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38601/api/school/respect/person?includeRelated=false 2026-06-27 13:59:44.323 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38601/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:46.408 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:46.408 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 13:59:46.409 [DefaultDispatcher-worker-4 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45045 2026-06-27 13:59:46.411 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45045/api/school/respect/person?includeRelated=false 2026-06-27 13:59:46.411 [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:45045/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:46.411 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45045/api/school/respect/person?includeRelated=false 2026-06-27 13:59:46.414 [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-27 13:59:46.417 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45045/api/school/respect/person?includeRelated=false 2026-06-27 13:59:46.417 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45045/api/school/respect/person?includeRelated=false 2026-06-27 13:59:46.417 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45045/api/school/respect/person?includeRelated=false 2026-06-27 13:59:46.418 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45045/api/school/respect/person?includeRelated=false. 2026-06-27 13:59:46.458 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45045/api/school/respect/person?since=2026-06-27T09%3A59%3A46.414417469Z&includeRelated=false 2026-06-27 13:59:46.458 [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:45045/api/school/respect/person?since=2026-06-27T09%3A59%3A46.414417469Z&includeRelated=false. 2026-06-27 13:59:46.458 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45045/api/school/respect/person?since=2026-06-27T09%3A59%3A46.414417469Z&includeRelated=false 2026-06-27 13:59:46.459 [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-27 13:59:46.462 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45045/api/school/respect/person?since=2026-06-27T09%3A59%3A46.414417469Z&includeRelated=false 2026-06-27 13:59:46.462 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45045/api/school/respect/person?since=2026-06-27T09%3A59%3A46.414417469Z&includeRelated=false 2026-06-27 13:59:46.462 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45045/api/school/respect/person?since=2026-06-27T09%3A59%3A46.414417469Z&includeRelated=false 2026-06-27 13:59:46.463 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45045/api/school/respect/person?since=2026-06-27T09%3A59%3A46.414417469Z&includeRelated=false. 2026-06-27 13:59:48.561 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:48.563 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-27 13:59:48.564 [DefaultDispatcher-worker-4 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:32829 2026-06-27 13:59:48.566 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32829/playlist/a6c95a11-7cea-4bd0-8c03-b38a146e2e85 2026-06-27 13:59:48.566 [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:32829/playlist/a6c95a11-7cea-4bd0-8c03-b38a146e2e85. 2026-06-27 13:59:48.566 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32829/playlist/a6c95a11-7cea-4bd0-8c03-b38a146e2e85 2026-06-27 13:59:48.568 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, a6c95a11-7cea-4bd0-8c03-b38a146e2e85] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[a6c95a11-7cea-4bd0-8c03-b38a146e2e85]] @ /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=[a6c95a11-7cea-4bd0-8c03-b38a146e2e85]] @ /playlist/{uuid}/(method:GET) 2026-06-27 13:59:48.573 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32829/playlist/a6c95a11-7cea-4bd0-8c03-b38a146e2e85 2026-06-27 13:59:48.574 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32829/playlist/a6c95a11-7cea-4bd0-8c03-b38a146e2e85 2026-06-27 13:59:48.574 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32829/playlist/a6c95a11-7cea-4bd0-8c03-b38a146e2e85 2026-06-27 13:59:48.574 [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:32829/playlist/a6c95a11-7cea-4bd0-8c03-b38a146e2e85. 2026-06-27 13:59:50.717 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:50.718 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 13:59:50.719 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45375 2026-06-27 13:59:50.765 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45375/playlist/c675f60a-8d9b-4b9b-9ce4-85bb4032101f 2026-06-27 13:59:50.765 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@21e8deb4 for http://localhost:45375/playlist/c675f60a-8d9b-4b9b-9ce4-85bb4032101f 2026-06-27 13:59:50.766 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45375/playlist/c675f60a-8d9b-4b9b-9ce4-85bb4032101f 2026-06-27 13:59:50.766 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45375/playlist/c675f60a-8d9b-4b9b-9ce4-85bb4032101f from class io.ktor.http.content.TextContent 2026-06-27 13:59:50.768 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, c675f60a-8d9b-4b9b-9ce4-85bb4032101f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[c675f60a-8d9b-4b9b-9ce4-85bb4032101f]] @ /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=[c675f60a-8d9b-4b9b-9ce4-85bb4032101f]] @ /playlist/{uuid}/(method:POST) 2026-06-27 13:59:50.768 [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/c675f60a-8d9b-4b9b-9ce4-85bb4032101f 2026-06-27 13:59:50.769 [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/c675f60a-8d9b-4b9b-9ce4-85bb4032101f request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 13:59:50.770 [DefaultDispatcher-worker-4 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45375/playlist/c675f60a-8d9b-4b9b-9ce4-85bb4032101f 2026-06-27 13:59:50.770 [DefaultDispatcher-worker-4 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45375/playlist/c675f60a-8d9b-4b9b-9ce4-85bb4032101f 2026-06-27 13:59:50.770 [DefaultDispatcher-worker-4 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45375/playlist/c675f60a-8d9b-4b9b-9ce4-85bb4032101f 2026-06-27 13:59:52.884 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:52.885 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-27 13:59:52.886 [DefaultDispatcher-worker-4 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40783 2026-06-27 13:59:52.961 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40783/api/school/xapi/statements 2026-06-27 13:59:52.962 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@37ab81b3 for http://localhost:40783/api/school/xapi/statements 2026-06-27 13:59:52.962 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40783/api/school/xapi/statements 2026-06-27 13:59:52.962 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:40783/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 13:59:52.965 [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-27 13:59:52.965 [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-27 13:59:52.974 [DefaultDispatcher-worker-6 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40783/api/school/xapi/statements 2026-06-27 13:59:52.974 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40783/api/school/xapi/statements 2026-06-27 13:59:52.974 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40783/api/school/xapi/statements 2026-06-27 13:59:52.974 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40783/api/school/xapi/statements. 2026-06-27 13:59:55.078 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 13:59:55.079 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 13:59:55.080 [DefaultDispatcher-worker-4 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43889 2026-06-27 13:59:55.124 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43889/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:59:55.125 [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:43889/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 13:59:55.125 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43889/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:59:55.127 [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-27 13:59:55.130 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43889/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:59:55.130 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43889/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:59:55.130 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43889/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 13:59:55.131 [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:43889/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:08:16.986 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:17.084 [Test worker] INFO io.ktor.server.Application - Application started in 0.205 seconds. 2026-06-27 15:08:17.159 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40929 2026-06-27 15:08:17.850 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40929/resources/index.json 2026-06-27 15:08:17.851 [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:40929/resources/index.json. 2026-06-27 15:08:17.851 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40929/resources/index.json 2026-06-27 15:08:17.967 [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-27 15:08:18.010 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 47ms 2026-06-27 15:08:18.014 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40929/resources/index.json 2026-06-27 15:08:18.016 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40929/resources/index.json 2026-06-27 15:08:18.016 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40929/resources/index.json 2026-06-27 15:08:18.036 [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:40929/resources/index.json. 2026-06-27 15:08:18.067 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40929/resources/index.json 2026-06-27 15:08:18.067 [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:40929/resources/index.json. 2026-06-27 15:08:18.067 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40929/resources/index.json 2026-06-27 15:08:18.069 [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-27 15:08:18.070 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 15:08:18.071 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40929/resources/index.json 2026-06-27 15:08:18.071 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40929/resources/index.json 2026-06-27 15:08:18.071 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40929/resources/index.json 2026-06-27 15:08:20.085 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:20.085 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 15:08:20.087 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45301 2026-06-27 15:08:20.150 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45301/resources/index.json 2026-06-27 15:08:20.150 [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:45301/resources/index.json. 2026-06-27 15:08:20.150 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45301/resources/index.json 2026-06-27 15:08:20.154 [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-27 15:08:20.155 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-27 15:08:20.156 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45301/resources/index.json 2026-06-27 15:08:20.156 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45301/resources/index.json 2026-06-27 15:08:20.156 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45301/resources/index.json 2026-06-27 15:08:20.156 [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:45301/resources/index.json. 2026-06-27 15:08:20.161 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45301/resources/index.json 2026-06-27 15:08:20.161 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45301/resources/index.json. 2026-06-27 15:08:20.161 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45301/resources/index.json 2026-06-27 15:08:20.163 [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-27 15:08:20.163 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 15:08:20.164 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45301/resources/index.json 2026-06-27 15:08:20.164 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45301/resources/index.json 2026-06-27 15:08:20.164 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45301/resources/index.json 2026-06-27 15:08:22.171 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:22.172 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 15:08:22.173 [DefaultDispatcher-worker-2 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43667 2026-06-27 15:08:22.178 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43667/resources/lesson001.json 2026-06-27 15:08:22.179 [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:43667/resources/lesson001.json. 2026-06-27 15:08:22.179 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43667/resources/lesson001.json 2026-06-27 15:08:22.181 [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-27 15:08:22.183 [DefaultDispatcher-worker-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-27 15:08:22.183 [DefaultDispatcher-worker-1 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43667/resources/lesson001.json 2026-06-27 15:08:22.184 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43667/resources/lesson001.json 2026-06-27 15:08:22.184 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43667/resources/lesson001.json 2026-06-27 15:08:22.187 [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:43667/resources/lesson001.json. 2026-06-27 15:08:24.419 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:24.425 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.109 seconds. 2026-06-27 15:08:24.427 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35813 2026-06-27 15:08:24.434 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35813/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:24.434 [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:35813/api/school/respect/schoolpermissiongrant. 2026-06-27 15:08:24.434 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35813/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:24.438 [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-27 15:08:24.450 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35813/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:24.450 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35813/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:24.450 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35813/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:24.451 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35813/api/school/respect/schoolpermissiongrant. 2026-06-27 15:08:24.512 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.512 [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:35813/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:24.512 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.514 [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-27 15:08:24.531 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.532 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.532 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.533 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35813/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:24.538 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.538 [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:35813/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:24.538 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.540 [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-27 15:08:24.542 [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-27 15:08:24.543 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.543 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:24.543 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35813/api/school/respect/person?includeRelated=false 2026-06-27 15:08:26.649 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:26.650 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 15:08:26.651 [DefaultDispatcher-worker-3 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34143 2026-06-27 15:08:26.652 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34143/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:26.652 [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:34143/api/school/respect/schoolpermissiongrant. 2026-06-27 15:08:26.652 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34143/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:26.655 [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-27 15:08:26.657 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34143/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:26.657 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34143/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:26.657 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34143/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:26.657 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34143/api/school/respect/schoolpermissiongrant. 2026-06-27 15:08:26.704 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34143/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:08:26.704 [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:34143/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:08:26.704 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34143/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:08:26.706 [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-27 15:08:26.709 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34143/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:08:26.709 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34143/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:08:26.709 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34143/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:08:26.710 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34143/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:08:28.843 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:28.843 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 15:08:28.845 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35539 2026-06-27 15:08:28.848 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35539/api/school/respect/person?includeRelated=false 2026-06-27 15:08:28.848 [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:35539/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:28.848 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35539/api/school/respect/person?includeRelated=false 2026-06-27 15:08:28.851 [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-27 15:08:28.855 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35539/api/school/respect/person?includeRelated=false 2026-06-27 15:08:28.856 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35539/api/school/respect/person?includeRelated=false 2026-06-27 15:08:28.856 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35539/api/school/respect/person?includeRelated=false 2026-06-27 15:08:28.857 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35539/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:28.921 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35539/api/school/respect/person?since=2026-06-27T11%3A08%3A28.851890627Z&includeRelated=false 2026-06-27 15:08:28.921 [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:35539/api/school/respect/person?since=2026-06-27T11%3A08%3A28.851890627Z&includeRelated=false. 2026-06-27 15:08:28.921 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35539/api/school/respect/person?since=2026-06-27T11%3A08%3A28.851890627Z&includeRelated=false 2026-06-27 15:08:28.923 [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-27 15:08:28.928 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35539/api/school/respect/person?since=2026-06-27T11%3A08%3A28.851890627Z&includeRelated=false 2026-06-27 15:08:28.928 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35539/api/school/respect/person?since=2026-06-27T11%3A08%3A28.851890627Z&includeRelated=false 2026-06-27 15:08:28.928 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35539/api/school/respect/person?since=2026-06-27T11%3A08%3A28.851890627Z&includeRelated=false 2026-06-27 15:08:28.929 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35539/api/school/respect/person?since=2026-06-27T11%3A08%3A28.851890627Z&includeRelated=false. 2026-06-27 15:08:31.037 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:31.038 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 15:08:31.039 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46267 2026-06-27 15:08:31.083 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46267/api/school/respect/person 2026-06-27 15:08:31.084 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@4d20c2b1 for http://localhost:46267/api/school/respect/person 2026-06-27 15:08:31.084 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46267/api/school/respect/person 2026-06-27 15:08:31.084 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46267/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 15:08:31.087 [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-27 15:08:31.093 [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-27 15:08:31.095 [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-27 15:08:31.096 [DefaultDispatcher-worker-2 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46267/api/school/respect/person 2026-06-27 15:08:31.096 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46267/api/school/respect/person 2026-06-27 15:08:31.096 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46267/api/school/respect/person 2026-06-27 15:08:33.230 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:33.231 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 15:08:33.232 [DefaultDispatcher-worker-2 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42161 2026-06-27 15:08:33.233 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42161/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:33.233 [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:42161/api/school/respect/schoolpermissiongrant. 2026-06-27 15:08:33.233 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42161/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:33.235 [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-27 15:08:33.237 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42161/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:33.238 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42161/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:33.238 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42161/api/school/respect/schoolpermissiongrant 2026-06-27 15:08:33.238 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42161/api/school/respect/schoolpermissiongrant. 2026-06-27 15:08:33.283 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:33.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:42161/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:33.283 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:33.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-27 15:08:33.290 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:33.290 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:33.290 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:33.291 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42161/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:35.296 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:35.296 [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:42161/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:35.296 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:35.297 [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-27 15:08:35.301 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:35.301 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:35.301 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42161/api/school/respect/person?includeRelated=false 2026-06-27 15:08:35.302 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42161/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:37.541 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:37.542 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.093 seconds. 2026-06-27 15:08:37.544 [DefaultDispatcher-worker-3 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38017 2026-06-27 15:08:37.547 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38017/api/school/respect/person?includeRelated=false 2026-06-27 15:08:37.547 [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:38017/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:37.547 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38017/api/school/respect/person?includeRelated=false 2026-06-27 15:08:37.550 [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-27 15:08:37.555 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38017/api/school/respect/person?includeRelated=false 2026-06-27 15:08:37.556 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38017/api/school/respect/person?includeRelated=false 2026-06-27 15:08:37.556 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38017/api/school/respect/person?includeRelated=false 2026-06-27 15:08:37.557 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38017/api/school/respect/person?includeRelated=false. 2026-06-27 15:08:37.670 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38017/api/school/respect/person?since=2026-06-27T11%3A08%3A37.550993598Z&includeRelated=false 2026-06-27 15:08:37.671 [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:38017/api/school/respect/person?since=2026-06-27T11%3A08%3A37.550993598Z&includeRelated=false. 2026-06-27 15:08:37.671 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38017/api/school/respect/person?since=2026-06-27T11%3A08%3A37.550993598Z&includeRelated=false 2026-06-27 15:08:37.679 [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-27 15:08:37.685 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38017/api/school/respect/person?since=2026-06-27T11%3A08%3A37.550993598Z&includeRelated=false 2026-06-27 15:08:37.686 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38017/api/school/respect/person?since=2026-06-27T11%3A08%3A37.550993598Z&includeRelated=false 2026-06-27 15:08:37.686 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38017/api/school/respect/person?since=2026-06-27T11%3A08%3A37.550993598Z&includeRelated=false 2026-06-27 15:08:37.687 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38017/api/school/respect/person?since=2026-06-27T11%3A08%3A37.550993598Z&includeRelated=false. 2026-06-27 15:08:39.870 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:39.872 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.07 seconds. 2026-06-27 15:08:39.879 [DefaultDispatcher-worker-3 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37153 2026-06-27 15:08:39.883 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37153/playlist/1425a971-0db5-4987-bfb1-0f1abfbe889a 2026-06-27 15:08:39.884 [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:37153/playlist/1425a971-0db5-4987-bfb1-0f1abfbe889a. 2026-06-27 15:08:39.884 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37153/playlist/1425a971-0db5-4987-bfb1-0f1abfbe889a 2026-06-27 15:08:39.896 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 1425a971-0db5-4987-bfb1-0f1abfbe889a] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[1425a971-0db5-4987-bfb1-0f1abfbe889a]] @ /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=[1425a971-0db5-4987-bfb1-0f1abfbe889a]] @ /playlist/{uuid}/(method:GET) 2026-06-27 15:08:39.927 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37153/playlist/1425a971-0db5-4987-bfb1-0f1abfbe889a 2026-06-27 15:08:39.928 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37153/playlist/1425a971-0db5-4987-bfb1-0f1abfbe889a 2026-06-27 15:08:39.928 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37153/playlist/1425a971-0db5-4987-bfb1-0f1abfbe889a 2026-06-27 15:08:39.929 [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:37153/playlist/1425a971-0db5-4987-bfb1-0f1abfbe889a. 2026-06-27 15:08:42.133 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:42.134 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-27 15:08:42.135 [DefaultDispatcher-worker-4 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46617 2026-06-27 15:08:42.185 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46617/playlist/fe17caf5-1a73-455c-b0f2-99530de6879d 2026-06-27 15:08:42.185 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@4bc1239 for http://localhost:46617/playlist/fe17caf5-1a73-455c-b0f2-99530de6879d 2026-06-27 15:08:42.185 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46617/playlist/fe17caf5-1a73-455c-b0f2-99530de6879d 2026-06-27 15:08:42.185 [DefaultDispatcher-worker-6 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46617/playlist/fe17caf5-1a73-455c-b0f2-99530de6879d from class io.ktor.http.content.TextContent 2026-06-27 15:08:42.187 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, fe17caf5-1a73-455c-b0f2-99530de6879d] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[fe17caf5-1a73-455c-b0f2-99530de6879d]] @ /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=[fe17caf5-1a73-455c-b0f2-99530de6879d]] @ /playlist/{uuid}/(method:POST) 2026-06-27 15:08:42.188 [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/fe17caf5-1a73-455c-b0f2-99530de6879d 2026-06-27 15:08:42.189 [DefaultDispatcher-worker-6 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/fe17caf5-1a73-455c-b0f2-99530de6879d request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 15:08:42.190 [DefaultDispatcher-worker-13 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46617/playlist/fe17caf5-1a73-455c-b0f2-99530de6879d 2026-06-27 15:08:42.190 [DefaultDispatcher-worker-13 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46617/playlist/fe17caf5-1a73-455c-b0f2-99530de6879d 2026-06-27 15:08:42.190 [DefaultDispatcher-worker-13 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46617/playlist/fe17caf5-1a73-455c-b0f2-99530de6879d 2026-06-27 15:08:44.327 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:44.333 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.054 seconds. 2026-06-27 15:08:44.334 [DefaultDispatcher-worker-12 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40351 2026-06-27 15:08:44.453 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40351/api/school/xapi/statements 2026-06-27 15:08:44.454 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6f6c7eb1 for http://localhost:40351/api/school/xapi/statements 2026-06-27 15:08:44.454 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40351/api/school/xapi/statements 2026-06-27 15:08:44.454 [DefaultDispatcher-worker-12 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:40351/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 15:08:44.457 [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-27 15:08:44.457 [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-27 15:08:44.468 [DefaultDispatcher-worker-17 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40351/api/school/xapi/statements 2026-06-27 15:08:44.468 [DefaultDispatcher-worker-17 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40351/api/school/xapi/statements 2026-06-27 15:08:44.468 [DefaultDispatcher-worker-17 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40351/api/school/xapi/statements 2026-06-27 15:08:44.468 [DefaultDispatcher-worker-17 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40351/api/school/xapi/statements. 2026-06-27 15:08:46.596 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:08:46.597 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.053 seconds. 2026-06-27 15:08:46.600 [DefaultDispatcher-worker-17 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34363 2026-06-27 15:08:46.657 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34363/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:08:46.657 [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:34363/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:08:46.657 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34363/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:08:46.660 [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-27 15:08:46.663 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34363/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:08:46.664 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34363/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:08:46.664 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34363/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:08:46.664 [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:34363/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:24:05.117 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:05.275 [Test worker] INFO io.ktor.server.Application - Application started in 0.31 seconds. 2026-06-27 15:24:05.416 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36953 2026-06-27 15:24:06.327 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36953/resources/index.json 2026-06-27 15:24:06.328 [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:36953/resources/index.json. 2026-06-27 15:24:06.331 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36953/resources/index.json 2026-06-27 15:24:06.509 [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-27 15:24:06.559 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 56ms 2026-06-27 15:24:06.564 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36953/resources/index.json 2026-06-27 15:24:06.566 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36953/resources/index.json 2026-06-27 15:24:06.566 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36953/resources/index.json 2026-06-27 15:24:06.590 [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:36953/resources/index.json. 2026-06-27 15:24:06.647 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36953/resources/index.json 2026-06-27 15:24:06.647 [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:36953/resources/index.json. 2026-06-27 15:24:06.647 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36953/resources/index.json 2026-06-27 15:24:06.651 [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-27 15:24:06.657 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 7ms 2026-06-27 15:24:06.659 [DefaultDispatcher-worker-5 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36953/resources/index.json 2026-06-27 15:24:06.659 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36953/resources/index.json 2026-06-27 15:24:06.659 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36953/resources/index.json 2026-06-27 15:24:07.670 [eventLoopGroupProxy-4-1] WARN i.n.u.c.SingleThreadEventExecutor - An event executor terminated with non-empty task queue (1) 2026-06-27 15:24:07.672 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@11c4bddd 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-27 15:24:08.686 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:08.687 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 15:24:08.689 [DefaultDispatcher-worker-5 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38405 2026-06-27 15:24:08.751 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38405/resources/index.json 2026-06-27 15:24:08.751 [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:38405/resources/index.json. 2026-06-27 15:24:08.751 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38405/resources/index.json 2026-06-27 15:24:08.755 [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-27 15:24:08.757 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-27 15:24:08.758 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38405/resources/index.json 2026-06-27 15:24:08.758 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38405/resources/index.json 2026-06-27 15:24:08.758 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38405/resources/index.json 2026-06-27 15:24:08.759 [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:38405/resources/index.json. 2026-06-27 15:24:08.765 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38405/resources/index.json 2026-06-27 15:24:08.766 [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:38405/resources/index.json. 2026-06-27 15:24:08.766 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38405/resources/index.json 2026-06-27 15:24:08.770 [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-27 15:24:08.771 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 15:24:08.772 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38405/resources/index.json 2026-06-27 15:24:08.772 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38405/resources/index.json 2026-06-27 15:24:08.772 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38405/resources/index.json 2026-06-27 15:24:10.783 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:10.784 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 15:24:10.785 [DefaultDispatcher-worker-1 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35211 2026-06-27 15:24:10.792 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35211/resources/lesson001.json 2026-06-27 15:24:10.792 [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:35211/resources/lesson001.json. 2026-06-27 15:24:10.792 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35211/resources/lesson001.json 2026-06-27 15:24:10.795 [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-27 15:24:10.796 [DefaultDispatcher-worker-2 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-27 15:24:10.799 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35211/resources/lesson001.json 2026-06-27 15:24:10.799 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35211/resources/lesson001.json 2026-06-27 15:24:10.799 [DefaultDispatcher-worker-3 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35211/resources/lesson001.json 2026-06-27 15:24:10.802 [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:35211/resources/lesson001.json. 2026-06-27 15:24:13.306 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:13.330 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.307 seconds. 2026-06-27 15:24:13.344 [DefaultDispatcher-worker-7 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37449 2026-06-27 15:24:13.398 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37449/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:13.398 [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:37449/api/school/respect/schoolpermissiongrant. 2026-06-27 15:24:13.398 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37449/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:13.431 [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-27 15:24:13.464 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37449/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:13.465 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37449/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:13.465 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37449/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:13.474 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37449/api/school/respect/schoolpermissiongrant. 2026-06-27 15:24:13.664 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.664 [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:37449/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:13.664 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.675 [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-27 15:24:13.750 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.751 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.751 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.754 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37449/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:13.789 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.789 [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:37449/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:13.789 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.803 [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-27 15:24:13.811 [DefaultDispatcher-worker-3 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 15:24:13.815 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.816 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:13.816 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37449/api/school/respect/person?includeRelated=false 2026-06-27 15:24:15.999 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:16.001 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.054 seconds. 2026-06-27 15:24:16.003 [DefaultDispatcher-worker-3 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42513 2026-06-27 15:24:16.004 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42513/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:16.004 [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:42513/api/school/respect/schoolpermissiongrant. 2026-06-27 15:24:16.004 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42513/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:16.006 [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-27 15:24:16.009 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42513/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:16.009 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42513/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:16.009 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42513/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:16.009 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42513/api/school/respect/schoolpermissiongrant. 2026-06-27 15:24:16.094 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42513/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:24:16.095 [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:42513/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:24:16.095 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42513/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:24:16.105 [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-27 15:24:16.112 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42513/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:24:16.112 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42513/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:24:16.112 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42513/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:24:16.114 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42513/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:24:18.261 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:18.265 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.063 seconds. 2026-06-27 15:24:18.272 [DefaultDispatcher-worker-3 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40581 2026-06-27 15:24:18.282 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40581/api/school/respect/person?includeRelated=false 2026-06-27 15:24:18.282 [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:40581/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:18.282 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40581/api/school/respect/person?includeRelated=false 2026-06-27 15:24:18.300 [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-27 15:24:18.315 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40581/api/school/respect/person?includeRelated=false 2026-06-27 15:24:18.319 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40581/api/school/respect/person?includeRelated=false 2026-06-27 15:24:18.319 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40581/api/school/respect/person?includeRelated=false 2026-06-27 15:24:18.320 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40581/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:18.387 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40581/api/school/respect/person?since=2026-06-27T11%3A24%3A18.301683830Z&includeRelated=false 2026-06-27 15:24:18.387 [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:40581/api/school/respect/person?since=2026-06-27T11%3A24%3A18.301683830Z&includeRelated=false. 2026-06-27 15:24:18.388 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40581/api/school/respect/person?since=2026-06-27T11%3A24%3A18.301683830Z&includeRelated=false 2026-06-27 15:24:18.389 [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-27 15:24:18.395 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40581/api/school/respect/person?since=2026-06-27T11%3A24%3A18.301683830Z&includeRelated=false 2026-06-27 15:24:18.395 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40581/api/school/respect/person?since=2026-06-27T11%3A24%3A18.301683830Z&includeRelated=false 2026-06-27 15:24:18.395 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40581/api/school/respect/person?since=2026-06-27T11%3A24%3A18.301683830Z&includeRelated=false 2026-06-27 15:24:18.396 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40581/api/school/respect/person?since=2026-06-27T11%3A24%3A18.301683830Z&includeRelated=false. 2026-06-27 15:24:20.557 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:20.558 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.053 seconds. 2026-06-27 15:24:20.566 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33357 2026-06-27 15:24:20.612 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33357/api/school/respect/person 2026-06-27 15:24:20.612 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@788f30de for http://localhost:33357/api/school/respect/person 2026-06-27 15:24:20.612 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33357/api/school/respect/person 2026-06-27 15:24:20.612 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33357/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 15:24:20.615 [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-27 15:24:20.621 [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-27 15:24:20.623 [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-27 15:24:20.624 [DefaultDispatcher-worker-10 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33357/api/school/respect/person 2026-06-27 15:24:20.624 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33357/api/school/respect/person 2026-06-27 15:24:20.624 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33357/api/school/respect/person 2026-06-27 15:24:22.793 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:24:22.795 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-27 15:24:22.800 [DefaultDispatcher-worker-7 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33201 2026-06-27 15:24:22.801 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33201/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:22.801 [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:33201/api/school/respect/schoolpermissiongrant. 2026-06-27 15:24:22.801 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33201/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:22.810 [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-27 15:24:22.822 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33201/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:22.823 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33201/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:22.823 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33201/api/school/respect/schoolpermissiongrant 2026-06-27 15:24:22.824 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33201/api/school/respect/schoolpermissiongrant. 2026-06-27 15:24:22.883 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:22.883 [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:33201/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:22.883 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:22.892 [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-27 15:24:22.911 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:22.911 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:22.912 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:22.918 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33201/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:24.942 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:24.942 [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:33201/api/school/respect/person?includeRelated=false. 2026-06-27 15:24:24.942 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:24.944 [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-27 15:24:24.959 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:24.960 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:24.960 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33201/api/school/respect/person?includeRelated=false 2026-06-27 15:24:24.961 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33201/api/school/respect/person?includeRelated=false. 2026-06-27 15:25:57.084 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:25:57.211 [Test worker] INFO io.ktor.server.Application - Application started in 0.274 seconds. 2026-06-27 15:25:57.317 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44711 2026-06-27 15:25:58.270 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44711/resources/index.json 2026-06-27 15:25:58.270 [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:44711/resources/index.json. 2026-06-27 15:25:58.271 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44711/resources/index.json 2026-06-27 15:25:58.426 [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-27 15:25:58.504 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 85ms 2026-06-27 15:25:58.510 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44711/resources/index.json 2026-06-27 15:25:58.512 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44711/resources/index.json 2026-06-27 15:25:58.512 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44711/resources/index.json 2026-06-27 15:25:58.537 [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:44711/resources/index.json. 2026-06-27 15:25:58.586 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44711/resources/index.json 2026-06-27 15:25:58.587 [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:44711/resources/index.json. 2026-06-27 15:25:58.587 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44711/resources/index.json 2026-06-27 15:25:58.593 [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-27 15:25:58.595 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 15:25:58.599 [DefaultDispatcher-worker-5 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44711/resources/index.json 2026-06-27 15:25:58.599 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44711/resources/index.json 2026-06-27 15:25:58.599 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44711/resources/index.json 2026-06-27 15:25:59.622 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@498b782a 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-27 15:26:00.641 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:00.642 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 15:26:00.654 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46511 2026-06-27 15:26:00.735 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46511/resources/index.json 2026-06-27 15:26:00.735 [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:46511/resources/index.json. 2026-06-27 15:26:00.735 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46511/resources/index.json 2026-06-27 15:26:00.754 [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-27 15:26:00.759 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 5ms 2026-06-27 15:26:00.764 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46511/resources/index.json 2026-06-27 15:26:00.765 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46511/resources/index.json 2026-06-27 15:26:00.765 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46511/resources/index.json 2026-06-27 15:26:00.768 [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:46511/resources/index.json. 2026-06-27 15:26:00.780 [Test worker @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46511/resources/index.json 2026-06-27 15:26:00.784 [Test worker @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:46511/resources/index.json. 2026-06-27 15:26:00.785 [Test worker @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46511/resources/index.json 2026-06-27 15:26:00.789 [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-27 15:26:00.794 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 5ms 2026-06-27 15:26:00.796 [DefaultDispatcher-worker-2 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46511/resources/index.json 2026-06-27 15:26:00.797 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46511/resources/index.json 2026-06-27 15:26:00.797 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46511/resources/index.json 2026-06-27 15:26:02.841 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:02.841 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 15:26:02.847 [DefaultDispatcher-worker-2 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45379 2026-06-27 15:26:02.861 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45379/resources/lesson001.json 2026-06-27 15:26:02.861 [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:45379/resources/lesson001.json. 2026-06-27 15:26:02.861 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45379/resources/lesson001.json 2026-06-27 15:26:02.872 [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-27 15:26:02.876 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 4ms 2026-06-27 15:26:02.880 [DefaultDispatcher-worker-1 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45379/resources/lesson001.json 2026-06-27 15:26:02.888 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45379/resources/lesson001.json 2026-06-27 15:26:02.889 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45379/resources/lesson001.json 2026-06-27 15:26:02.897 [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:45379/resources/lesson001.json. 2026-06-27 15:26:05.182 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:05.194 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.146 seconds. 2026-06-27 15:26:05.200 [DefaultDispatcher-worker-8 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42633 2026-06-27 15:26:05.220 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42633/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:05.220 [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:42633/api/school/respect/schoolpermissiongrant. 2026-06-27 15:26:05.220 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42633/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:05.230 [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-27 15:26:05.263 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42633/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:05.264 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42633/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:05.264 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42633/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:05.267 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42633/api/school/respect/schoolpermissiongrant. 2026-06-27 15:26:05.375 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.375 [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:42633/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:05.375 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.380 [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-27 15:26:05.431 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.432 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.432 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.434 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42633/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:05.446 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.446 [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:42633/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:05.446 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.449 [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-27 15:26:05.457 [DefaultDispatcher-worker-7 @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-27 15:26:05.458 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.458 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:05.458 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42633/api/school/respect/person?includeRelated=false 2026-06-27 15:26:06.472 [eventLoopGroupProxy-12-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@32063a1a 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-27 15:26:07.729 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:07.730 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.087 seconds. 2026-06-27 15:26:07.734 [DefaultDispatcher-worker-7 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39465 2026-06-27 15:26:07.735 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39465/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:07.735 [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:39465/api/school/respect/schoolpermissiongrant. 2026-06-27 15:26:07.735 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39465/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:07.740 [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-27 15:26:07.745 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39465/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:07.745 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39465/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:07.745 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39465/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:07.745 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39465/api/school/respect/schoolpermissiongrant. 2026-06-27 15:26:07.882 [DefaultDispatcher-worker-6 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39465/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:26:07.883 [DefaultDispatcher-worker-6 @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:39465/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:26:07.883 [DefaultDispatcher-worker-6 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39465/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:26:07.887 [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-27 15:26:07.893 [DefaultDispatcher-worker-9 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39465/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:26:07.893 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39465/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:26:07.893 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39465/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:26:07.897 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39465/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:26:10.059 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:10.064 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.065 seconds. 2026-06-27 15:26:10.075 [DefaultDispatcher-worker-6 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44513 2026-06-27 15:26:10.089 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44513/api/school/respect/person?includeRelated=false 2026-06-27 15:26:10.090 [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:44513/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:10.090 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44513/api/school/respect/person?includeRelated=false 2026-06-27 15:26:10.104 [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-27 15:26:10.123 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44513/api/school/respect/person?includeRelated=false 2026-06-27 15:26:10.127 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44513/api/school/respect/person?includeRelated=false 2026-06-27 15:26:10.127 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44513/api/school/respect/person?includeRelated=false 2026-06-27 15:26:10.132 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44513/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:10.252 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44513/api/school/respect/person?since=2026-06-27T11%3A26%3A10.105635534Z&includeRelated=false 2026-06-27 15:26:10.252 [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:44513/api/school/respect/person?since=2026-06-27T11%3A26%3A10.105635534Z&includeRelated=false. 2026-06-27 15:26:10.252 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44513/api/school/respect/person?since=2026-06-27T11%3A26%3A10.105635534Z&includeRelated=false 2026-06-27 15:26:10.259 [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-27 15:26:10.277 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44513/api/school/respect/person?since=2026-06-27T11%3A26%3A10.105635534Z&includeRelated=false 2026-06-27 15:26:10.278 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44513/api/school/respect/person?since=2026-06-27T11%3A26%3A10.105635534Z&includeRelated=false 2026-06-27 15:26:10.278 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44513/api/school/respect/person?since=2026-06-27T11%3A26%3A10.105635534Z&includeRelated=false 2026-06-27 15:26:10.282 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44513/api/school/respect/person?since=2026-06-27T11%3A26%3A10.105635534Z&includeRelated=false. 2026-06-27 15:26:12.481 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:12.486 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.053 seconds. 2026-06-27 15:26:12.494 [DefaultDispatcher-worker-2 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34071 2026-06-27 15:26:12.549 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34071/api/school/respect/person 2026-06-27 15:26:12.549 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6d9568ef for http://localhost:34071/api/school/respect/person 2026-06-27 15:26:12.549 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34071/api/school/respect/person 2026-06-27 15:26:12.549 [DefaultDispatcher-worker-7 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34071/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 15:26:12.554 [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-27 15:26:12.562 [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-27 15:26:12.564 [DefaultDispatcher-worker-7 @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-27 15:26:12.566 [DefaultDispatcher-worker-6 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34071/api/school/respect/person 2026-06-27 15:26:12.566 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34071/api/school/respect/person 2026-06-27 15:26:12.566 [DefaultDispatcher-worker-6 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34071/api/school/respect/person 2026-06-27 15:26:14.755 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:14.756 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.061 seconds. 2026-06-27 15:26:14.758 [DefaultDispatcher-worker-2 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44601 2026-06-27 15:26:14.759 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44601/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:14.759 [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:44601/api/school/respect/schoolpermissiongrant. 2026-06-27 15:26:14.759 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44601/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:14.772 [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-27 15:26:14.775 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44601/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:14.776 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44601/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:14.776 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44601/api/school/respect/schoolpermissiongrant 2026-06-27 15:26:14.776 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44601/api/school/respect/schoolpermissiongrant. 2026-06-27 15:26:14.832 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:14.832 [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:44601/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:14.832 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:14.834 [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-27 15:26:14.846 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:14.847 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:14.847 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:14.848 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44601/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:16.854 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:16.854 [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:44601/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:16.854 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:16.856 [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-27 15:26:16.860 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:16.860 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:16.860 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-06-27 15:26:16.862 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44601/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:19.069 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:19.070 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.082 seconds. 2026-06-27 15:26:19.071 [DefaultDispatcher-worker-5 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41173 2026-06-27 15:26:19.073 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41173/api/school/respect/person?includeRelated=false 2026-06-27 15:26:19.073 [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:41173/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:19.073 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41173/api/school/respect/person?includeRelated=false 2026-06-27 15:26:19.077 [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-27 15:26:19.080 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41173/api/school/respect/person?includeRelated=false 2026-06-27 15:26:19.081 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41173/api/school/respect/person?includeRelated=false 2026-06-27 15:26:19.081 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41173/api/school/respect/person?includeRelated=false 2026-06-27 15:26:19.082 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41173/api/school/respect/person?includeRelated=false. 2026-06-27 15:26:19.156 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41173/api/school/respect/person?since=2026-06-27T11%3A26%3A19.077451160Z&includeRelated=false 2026-06-27 15:26:19.156 [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:41173/api/school/respect/person?since=2026-06-27T11%3A26%3A19.077451160Z&includeRelated=false. 2026-06-27 15:26:19.156 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41173/api/school/respect/person?since=2026-06-27T11%3A26%3A19.077451160Z&includeRelated=false 2026-06-27 15:26:19.158 [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-27 15:26:19.160 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41173/api/school/respect/person?since=2026-06-27T11%3A26%3A19.077451160Z&includeRelated=false 2026-06-27 15:26:19.160 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41173/api/school/respect/person?since=2026-06-27T11%3A26%3A19.077451160Z&includeRelated=false 2026-06-27 15:26:19.160 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41173/api/school/respect/person?since=2026-06-27T11%3A26%3A19.077451160Z&includeRelated=false 2026-06-27 15:26:19.161 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41173/api/school/respect/person?since=2026-06-27T11%3A26%3A19.077451160Z&includeRelated=false. 2026-06-27 15:26:21.266 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:21.268 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-27 15:26:21.269 [DefaultDispatcher-worker-7 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37195 2026-06-27 15:26:21.271 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37195/playlist/1ce33574-0fe0-4245-833f-aa23221940ad 2026-06-27 15:26:21.271 [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:37195/playlist/1ce33574-0fe0-4245-833f-aa23221940ad. 2026-06-27 15:26:21.271 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37195/playlist/1ce33574-0fe0-4245-833f-aa23221940ad 2026-06-27 15:26:21.273 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 1ce33574-0fe0-4245-833f-aa23221940ad] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[1ce33574-0fe0-4245-833f-aa23221940ad]] @ /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=[1ce33574-0fe0-4245-833f-aa23221940ad]] @ /playlist/{uuid}/(method:GET) 2026-06-27 15:26:21.279 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37195/playlist/1ce33574-0fe0-4245-833f-aa23221940ad 2026-06-27 15:26:21.279 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37195/playlist/1ce33574-0fe0-4245-833f-aa23221940ad 2026-06-27 15:26:21.279 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37195/playlist/1ce33574-0fe0-4245-833f-aa23221940ad 2026-06-27 15:26:21.279 [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:37195/playlist/1ce33574-0fe0-4245-833f-aa23221940ad. 2026-06-27 15:26:23.442 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:23.443 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.045 seconds. 2026-06-27 15:26:23.444 [DefaultDispatcher-worker-5 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46491 2026-06-27 15:26:23.491 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46491/playlist/95d83f2d-d180-4e48-b4cd-56ebf31f701c 2026-06-27 15:26:23.491 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@3ea1d1e for http://localhost:46491/playlist/95d83f2d-d180-4e48-b4cd-56ebf31f701c 2026-06-27 15:26:23.491 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46491/playlist/95d83f2d-d180-4e48-b4cd-56ebf31f701c 2026-06-27 15:26:23.491 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46491/playlist/95d83f2d-d180-4e48-b4cd-56ebf31f701c from class io.ktor.http.content.TextContent 2026-06-27 15:26:23.494 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 95d83f2d-d180-4e48-b4cd-56ebf31f701c] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[95d83f2d-d180-4e48-b4cd-56ebf31f701c]] @ /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=[95d83f2d-d180-4e48-b4cd-56ebf31f701c]] @ /playlist/{uuid}/(method:POST) 2026-06-27 15:26:23.494 [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/95d83f2d-d180-4e48-b4cd-56ebf31f701c 2026-06-27 15:26:23.495 [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/95d83f2d-d180-4e48-b4cd-56ebf31f701c request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 15:26:23.496 [DefaultDispatcher-worker-2 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46491/playlist/95d83f2d-d180-4e48-b4cd-56ebf31f701c 2026-06-27 15:26:23.496 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46491/playlist/95d83f2d-d180-4e48-b4cd-56ebf31f701c 2026-06-27 15:26:23.496 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46491/playlist/95d83f2d-d180-4e48-b4cd-56ebf31f701c 2026-06-27 15:26:25.640 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:25.642 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 15:26:25.643 [DefaultDispatcher-worker-6 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44847 2026-06-27 15:26:25.726 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44847/api/school/xapi/statements 2026-06-27 15:26:25.727 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@3ef00f40 for http://localhost:44847/api/school/xapi/statements 2026-06-27 15:26:25.728 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44847/api/school/xapi/statements 2026-06-27 15:26:25.728 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44847/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 15:26:25.731 [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-27 15:26:25.731 [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-27 15:26:25.741 [DefaultDispatcher-worker-2 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44847/api/school/xapi/statements 2026-06-27 15:26:25.741 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44847/api/school/xapi/statements 2026-06-27 15:26:25.741 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44847/api/school/xapi/statements 2026-06-27 15:26:25.741 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44847/api/school/xapi/statements. 2026-06-27 15:26:27.854 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:26:27.854 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 15:26:27.855 [DefaultDispatcher-worker-6 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42441 2026-06-27 15:26:27.916 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42441/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:26:27.916 [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:42441/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:26:27.916 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42441/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:26:27.929 [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-27 15:26:27.934 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42441/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:26:27.934 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42441/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:26:27.934 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42441/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:26:27.935 [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:42441/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:35:00.219 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:00.306 [Test worker] INFO io.ktor.server.Application - Application started in 0.198 seconds. 2026-06-27 15:35:00.378 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34055 2026-06-27 15:35:01.049 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34055/resources/index.json 2026-06-27 15:35:01.050 [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:34055/resources/index.json. 2026-06-27 15:35:01.050 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34055/resources/index.json 2026-06-27 15:35:01.170 [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-27 15:35:01.212 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 47ms 2026-06-27 15:35:01.216 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34055/resources/index.json 2026-06-27 15:35:01.218 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34055/resources/index.json 2026-06-27 15:35:01.218 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34055/resources/index.json 2026-06-27 15:35:01.238 [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:34055/resources/index.json. 2026-06-27 15:35:01.272 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34055/resources/index.json 2026-06-27 15:35:01.272 [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:34055/resources/index.json. 2026-06-27 15:35:01.272 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34055/resources/index.json 2026-06-27 15:35:01.275 [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-27 15:35:01.276 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 15:35:01.277 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34055/resources/index.json 2026-06-27 15:35:01.277 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34055/resources/index.json 2026-06-27 15:35:01.277 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34055/resources/index.json 2026-06-27 15:35:03.291 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:03.291 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 15:35:03.293 [DefaultDispatcher-worker-1 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37715 2026-06-27 15:35:03.345 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37715/resources/index.json 2026-06-27 15:35:03.345 [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:37715/resources/index.json. 2026-06-27 15:35:03.345 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37715/resources/index.json 2026-06-27 15:35:03.348 [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-27 15:35:03.349 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-06-27 15:35:03.350 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37715/resources/index.json 2026-06-27 15:35:03.350 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37715/resources/index.json 2026-06-27 15:35:03.350 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37715/resources/index.json 2026-06-27 15:35:03.351 [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:37715/resources/index.json. 2026-06-27 15:35:03.355 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37715/resources/index.json 2026-06-27 15:35:03.356 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37715/resources/index.json. 2026-06-27 15:35:03.356 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37715/resources/index.json 2026-06-27 15:35:03.357 [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-27 15:35:03.358 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 15:35:03.358 [DefaultDispatcher-worker-1 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37715/resources/index.json 2026-06-27 15:35:03.358 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37715/resources/index.json 2026-06-27 15:35:03.358 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37715/resources/index.json 2026-06-27 15:35:05.365 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:05.365 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 15:35:05.366 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35683 2026-06-27 15:35:05.372 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35683/resources/lesson001.json 2026-06-27 15:35:05.372 [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:35683/resources/lesson001.json. 2026-06-27 15:35:05.372 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35683/resources/lesson001.json 2026-06-27 15:35:05.375 [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-27 15:35:05.376 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-06-27 15:35:05.377 [DefaultDispatcher-worker-4 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35683/resources/lesson001.json 2026-06-27 15:35:05.377 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35683/resources/lesson001.json 2026-06-27 15:35:05.377 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35683/resources/lesson001.json 2026-06-27 15:35:05.380 [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:35683/resources/lesson001.json. 2026-06-27 15:35:07.609 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:07.614 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.095 seconds. 2026-06-27 15:35:07.616 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38735 2026-06-27 15:35:07.623 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38735/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:07.624 [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:38735/api/school/respect/schoolpermissiongrant. 2026-06-27 15:35:07.624 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38735/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:07.627 [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-27 15:35:07.638 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38735/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:07.638 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38735/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:07.638 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38735/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:07.639 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38735/api/school/respect/schoolpermissiongrant. 2026-06-27 15:35:07.702 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.702 [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:38735/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:07.702 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.704 [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-27 15:35:07.719 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.719 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.719 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.720 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38735/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:07.724 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.724 [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:38735/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:07.724 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.726 [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-27 15:35:07.728 [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-27 15:35:07.729 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.729 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:07.729 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38735/api/school/respect/person?includeRelated=false 2026-06-27 15:35:09.838 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:09.839 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-27 15:35:09.840 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36113 2026-06-27 15:35:09.841 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36113/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:09.841 [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:36113/api/school/respect/schoolpermissiongrant. 2026-06-27 15:35:09.841 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36113/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:09.843 [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-27 15:35:09.845 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36113/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:09.845 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36113/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:09.845 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36113/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:09.846 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36113/api/school/respect/schoolpermissiongrant. 2026-06-27 15:35:09.899 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36113/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:35:09.899 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36113/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:35:09.899 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36113/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:35:09.900 [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-27 15:35:09.903 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36113/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:35:09.903 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36113/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:35:09.903 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36113/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:35:09.904 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36113/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:35:12.009 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:12.010 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.045 seconds. 2026-06-27 15:35:12.011 [DefaultDispatcher-worker-2 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33687 2026-06-27 15:35:12.014 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33687/api/school/respect/person?includeRelated=false 2026-06-27 15:35:12.014 [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:33687/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:12.014 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33687/api/school/respect/person?includeRelated=false 2026-06-27 15:35:12.016 [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-27 15:35:12.020 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33687/api/school/respect/person?includeRelated=false 2026-06-27 15:35:12.020 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33687/api/school/respect/person?includeRelated=false 2026-06-27 15:35:12.020 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33687/api/school/respect/person?includeRelated=false 2026-06-27 15:35:12.021 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33687/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:12.074 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33687/api/school/respect/person?since=2026-06-27T11%3A35%3A12.017140274Z&includeRelated=false 2026-06-27 15:35:12.074 [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:33687/api/school/respect/person?since=2026-06-27T11%3A35%3A12.017140274Z&includeRelated=false. 2026-06-27 15:35:12.074 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33687/api/school/respect/person?since=2026-06-27T11%3A35%3A12.017140274Z&includeRelated=false 2026-06-27 15:35:12.076 [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-27 15:35:12.078 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33687/api/school/respect/person?since=2026-06-27T11%3A35%3A12.017140274Z&includeRelated=false 2026-06-27 15:35:12.079 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33687/api/school/respect/person?since=2026-06-27T11%3A35%3A12.017140274Z&includeRelated=false 2026-06-27 15:35:12.079 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33687/api/school/respect/person?since=2026-06-27T11%3A35%3A12.017140274Z&includeRelated=false 2026-06-27 15:35:12.079 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33687/api/school/respect/person?since=2026-06-27T11%3A35%3A12.017140274Z&includeRelated=false. 2026-06-27 15:35:14.196 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:14.196 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 15:35:14.199 [DefaultDispatcher-worker-4 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33811 2026-06-27 15:35:14.243 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33811/api/school/respect/person 2026-06-27 15:35:14.243 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@289633f8 for http://localhost:33811/api/school/respect/person 2026-06-27 15:35:14.243 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33811/api/school/respect/person 2026-06-27 15:35:14.243 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33811/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 15:35:14.246 [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-27 15:35:14.252 [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-27 15:35:14.253 [DefaultDispatcher-worker-3 @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-27 15:35:14.254 [DefaultDispatcher-worker-1 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33811/api/school/respect/person 2026-06-27 15:35:14.255 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33811/api/school/respect/person 2026-06-27 15:35:14.255 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33811/api/school/respect/person 2026-06-27 15:35:16.362 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:16.363 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 15:35:16.364 [DefaultDispatcher-worker-8 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44195 2026-06-27 15:35:16.365 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44195/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:16.365 [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:44195/api/school/respect/schoolpermissiongrant. 2026-06-27 15:35:16.365 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44195/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:16.368 [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-27 15:35:16.369 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44195/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:16.369 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44195/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:16.369 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44195/api/school/respect/schoolpermissiongrant 2026-06-27 15:35:16.370 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44195/api/school/respect/schoolpermissiongrant. 2026-06-27 15:35:16.412 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:16.412 [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:44195/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:16.412 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:16.414 [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-27 15:35:16.419 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:16.420 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:16.420 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:16.421 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44195/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:18.426 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:18.426 [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:44195/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:18.426 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:18.427 [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-27 15:35:18.431 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:18.431 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:18.431 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44195/api/school/respect/person?includeRelated=false 2026-06-27 15:35:18.431 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44195/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:20.536 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:20.536 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 15:35:20.537 [DefaultDispatcher-worker-4 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37159 2026-06-27 15:35:20.540 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37159/api/school/respect/person?includeRelated=false 2026-06-27 15:35:20.540 [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:37159/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:20.540 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37159/api/school/respect/person?includeRelated=false 2026-06-27 15:35:20.543 [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-27 15:35:20.546 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37159/api/school/respect/person?includeRelated=false 2026-06-27 15:35:20.546 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37159/api/school/respect/person?includeRelated=false 2026-06-27 15:35:20.547 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37159/api/school/respect/person?includeRelated=false 2026-06-27 15:35:20.547 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37159/api/school/respect/person?includeRelated=false. 2026-06-27 15:35:20.598 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37159/api/school/respect/person?since=2026-06-27T11%3A35%3A20.543557671Z&includeRelated=false 2026-06-27 15:35:20.598 [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:37159/api/school/respect/person?since=2026-06-27T11%3A35%3A20.543557671Z&includeRelated=false. 2026-06-27 15:35:20.598 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37159/api/school/respect/person?since=2026-06-27T11%3A35%3A20.543557671Z&includeRelated=false 2026-06-27 15:35:20.600 [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-27 15:35:20.602 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37159/api/school/respect/person?since=2026-06-27T11%3A35%3A20.543557671Z&includeRelated=false 2026-06-27 15:35:20.602 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37159/api/school/respect/person?since=2026-06-27T11%3A35%3A20.543557671Z&includeRelated=false 2026-06-27 15:35:20.602 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37159/api/school/respect/person?since=2026-06-27T11%3A35%3A20.543557671Z&includeRelated=false 2026-06-27 15:35:20.603 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37159/api/school/respect/person?since=2026-06-27T11%3A35%3A20.543557671Z&includeRelated=false. 2026-06-27 15:35:22.721 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:22.722 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-27 15:35:22.723 [DefaultDispatcher-worker-4 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33619 2026-06-27 15:35:22.725 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33619/playlist/b0e5ce6c-441a-46d1-b38a-22e812a984dd 2026-06-27 15:35:22.725 [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:33619/playlist/b0e5ce6c-441a-46d1-b38a-22e812a984dd. 2026-06-27 15:35:22.725 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33619/playlist/b0e5ce6c-441a-46d1-b38a-22e812a984dd 2026-06-27 15:35:22.728 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, b0e5ce6c-441a-46d1-b38a-22e812a984dd] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[b0e5ce6c-441a-46d1-b38a-22e812a984dd]] @ /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=[b0e5ce6c-441a-46d1-b38a-22e812a984dd]] @ /playlist/{uuid}/(method:GET) 2026-06-27 15:35:22.733 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33619/playlist/b0e5ce6c-441a-46d1-b38a-22e812a984dd 2026-06-27 15:35:22.733 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33619/playlist/b0e5ce6c-441a-46d1-b38a-22e812a984dd 2026-06-27 15:35:22.733 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33619/playlist/b0e5ce6c-441a-46d1-b38a-22e812a984dd 2026-06-27 15:35:22.734 [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:33619/playlist/b0e5ce6c-441a-46d1-b38a-22e812a984dd. 2026-06-27 15:35:24.881 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:24.881 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-27 15:35:24.882 [DefaultDispatcher-worker-4 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44317 2026-06-27 15:35:24.923 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44317/playlist/ca7a99be-8a23-4b60-9e08-76cebc1c703d 2026-06-27 15:35:24.923 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@72a0c9e3 for http://localhost:44317/playlist/ca7a99be-8a23-4b60-9e08-76cebc1c703d 2026-06-27 15:35:24.923 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44317/playlist/ca7a99be-8a23-4b60-9e08-76cebc1c703d 2026-06-27 15:35:24.923 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44317/playlist/ca7a99be-8a23-4b60-9e08-76cebc1c703d from class io.ktor.http.content.TextContent 2026-06-27 15:35:24.925 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, ca7a99be-8a23-4b60-9e08-76cebc1c703d] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[ca7a99be-8a23-4b60-9e08-76cebc1c703d]] @ /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=[ca7a99be-8a23-4b60-9e08-76cebc1c703d]] @ /playlist/{uuid}/(method:POST) 2026-06-27 15:35:24.926 [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/ca7a99be-8a23-4b60-9e08-76cebc1c703d 2026-06-27 15:35:24.926 [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/ca7a99be-8a23-4b60-9e08-76cebc1c703d request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 15:35:24.927 [DefaultDispatcher-worker-5 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44317/playlist/ca7a99be-8a23-4b60-9e08-76cebc1c703d 2026-06-27 15:35:24.927 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44317/playlist/ca7a99be-8a23-4b60-9e08-76cebc1c703d 2026-06-27 15:35:24.927 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44317/playlist/ca7a99be-8a23-4b60-9e08-76cebc1c703d 2026-06-27 15:35:27.049 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:27.051 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 15:35:27.052 [DefaultDispatcher-worker-8 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39263 2026-06-27 15:35:27.134 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39263/api/school/xapi/statements 2026-06-27 15:35:27.135 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@3dfe8796 for http://localhost:39263/api/school/xapi/statements 2026-06-27 15:35:27.135 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39263/api/school/xapi/statements 2026-06-27 15:35:27.135 [DefaultDispatcher-worker-7 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39263/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 15:35:27.138 [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-27 15:35:27.138 [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-27 15:35:27.148 [DefaultDispatcher-worker-1 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39263/api/school/xapi/statements 2026-06-27 15:35:27.148 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39263/api/school/xapi/statements 2026-06-27 15:35:27.148 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39263/api/school/xapi/statements 2026-06-27 15:35:27.148 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39263/api/school/xapi/statements. 2026-06-27 15:35:29.251 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:35:29.251 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 15:35:29.252 [DefaultDispatcher-worker-10 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41803 2026-06-27 15:35:29.305 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41803/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:35:29.305 [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:41803/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:35:29.305 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41803/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:35:29.307 [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-27 15:35:29.312 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41803/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:35:29.312 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41803/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:35:29.312 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41803/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:35:29.313 [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:41803/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:48:41.822 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:41.957 [Test worker] INFO io.ktor.server.Application - Application started in 0.3 seconds. 2026-06-27 15:48:42.070 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37443 2026-06-27 15:48:43.110 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37443/resources/index.json 2026-06-27 15:48:43.111 [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:37443/resources/index.json. 2026-06-27 15:48:43.112 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37443/resources/index.json 2026-06-27 15:48:43.318 [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-27 15:48:43.428 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 118ms 2026-06-27 15:48:43.444 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37443/resources/index.json 2026-06-27 15:48:43.447 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37443/resources/index.json 2026-06-27 15:48:43.448 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37443/resources/index.json 2026-06-27 15:48:43.487 [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:37443/resources/index.json. 2026-06-27 15:48:43.548 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37443/resources/index.json 2026-06-27 15:48:43.548 [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:37443/resources/index.json. 2026-06-27 15:48:43.548 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37443/resources/index.json 2026-06-27 15:48:43.559 [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-27 15:48:43.565 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 10ms 2026-06-27 15:48:43.567 [DefaultDispatcher-worker-5 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37443/resources/index.json 2026-06-27 15:48:43.567 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37443/resources/index.json 2026-06-27 15:48:43.567 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37443/resources/index.json 2026-06-27 15:48:45.599 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:45.600 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 15:48:45.601 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34321 2026-06-27 15:48:45.673 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34321/resources/index.json 2026-06-27 15:48:45.673 [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:34321/resources/index.json. 2026-06-27 15:48:45.673 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34321/resources/index.json 2026-06-27 15:48:45.676 [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-27 15:48:45.678 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-27 15:48:45.678 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34321/resources/index.json 2026-06-27 15:48:45.678 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34321/resources/index.json 2026-06-27 15:48:45.678 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34321/resources/index.json 2026-06-27 15:48:45.679 [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:34321/resources/index.json. 2026-06-27 15:48:45.684 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34321/resources/index.json 2026-06-27 15:48:45.684 [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:34321/resources/index.json. 2026-06-27 15:48:45.684 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34321/resources/index.json 2026-06-27 15:48:45.686 [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-27 15:48:45.687 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 15:48:45.688 [DefaultDispatcher-worker-4 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34321/resources/index.json 2026-06-27 15:48:45.688 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34321/resources/index.json 2026-06-27 15:48:45.688 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34321/resources/index.json 2026-06-27 15:48:47.695 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:47.695 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 15:48:47.697 [DefaultDispatcher-worker-4 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33619 2026-06-27 15:48:47.704 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33619/resources/lesson001.json 2026-06-27 15:48:47.704 [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:33619/resources/lesson001.json. 2026-06-27 15:48:47.704 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33619/resources/lesson001.json 2026-06-27 15:48:47.707 [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-27 15:48:47.709 [DefaultDispatcher-worker-3 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-27 15:48:47.709 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33619/resources/lesson001.json 2026-06-27 15:48:47.709 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33619/resources/lesson001.json 2026-06-27 15:48:47.709 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33619/resources/lesson001.json 2026-06-27 15:48:47.712 [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:33619/resources/lesson001.json. 2026-06-27 15:48:49.980 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:49.989 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.124 seconds. 2026-06-27 15:48:49.991 [DefaultDispatcher-worker-4 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42365 2026-06-27 15:48:50.003 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42365/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:50.003 [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:42365/api/school/respect/schoolpermissiongrant. 2026-06-27 15:48:50.003 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42365/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:50.010 [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-27 15:48:50.029 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42365/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:50.029 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42365/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:50.029 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42365/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:50.031 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42365/api/school/respect/schoolpermissiongrant. 2026-06-27 15:48:50.111 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.112 [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:42365/api/school/respect/person?includeRelated=false. 2026-06-27 15:48:50.112 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.115 [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-27 15:48:50.135 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.135 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.135 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.137 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42365/api/school/respect/person?includeRelated=false. 2026-06-27 15:48:50.144 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.144 [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:42365/api/school/respect/person?includeRelated=false. 2026-06-27 15:48:50.144 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.146 [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-27 15:48:50.149 [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-27 15:48:50.150 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.150 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:50.150 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42365/api/school/respect/person?includeRelated=false 2026-06-27 15:48:52.286 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:52.287 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-27 15:48:52.289 [DefaultDispatcher-worker-3 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41961 2026-06-27 15:48:52.290 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41961/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:52.290 [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:41961/api/school/respect/schoolpermissiongrant. 2026-06-27 15:48:52.290 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41961/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:52.293 [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-27 15:48:52.296 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41961/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:52.296 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41961/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:52.296 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41961/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:52.296 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41961/api/school/respect/schoolpermissiongrant. 2026-06-27 15:48:52.347 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41961/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:48:52.347 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41961/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:48:52.348 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41961/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:48:52.349 [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-27 15:48:52.353 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41961/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:48:52.354 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41961/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:48:52.354 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41961/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 15:48:52.355 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41961/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 15:48:54.470 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:54.471 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 15:48:54.472 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43503 2026-06-27 15:48:54.474 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43503/api/school/respect/person?includeRelated=false 2026-06-27 15:48:54.474 [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:43503/api/school/respect/person?includeRelated=false. 2026-06-27 15:48:54.474 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43503/api/school/respect/person?includeRelated=false 2026-06-27 15:48:54.476 [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-27 15:48:54.479 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43503/api/school/respect/person?includeRelated=false 2026-06-27 15:48:54.480 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43503/api/school/respect/person?includeRelated=false 2026-06-27 15:48:54.480 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43503/api/school/respect/person?includeRelated=false 2026-06-27 15:48:54.481 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43503/api/school/respect/person?includeRelated=false. 2026-06-27 15:48:54.540 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43503/api/school/respect/person?since=2026-06-27T11%3A48%3A54.477275109Z&includeRelated=false 2026-06-27 15:48:54.540 [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:43503/api/school/respect/person?since=2026-06-27T11%3A48%3A54.477275109Z&includeRelated=false. 2026-06-27 15:48:54.540 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43503/api/school/respect/person?since=2026-06-27T11%3A48%3A54.477275109Z&includeRelated=false 2026-06-27 15:48:54.542 [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-27 15:48:54.544 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43503/api/school/respect/person?since=2026-06-27T11%3A48%3A54.477275109Z&includeRelated=false 2026-06-27 15:48:54.544 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43503/api/school/respect/person?since=2026-06-27T11%3A48%3A54.477275109Z&includeRelated=false 2026-06-27 15:48:54.544 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43503/api/school/respect/person?since=2026-06-27T11%3A48%3A54.477275109Z&includeRelated=false 2026-06-27 15:48:54.545 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43503/api/school/respect/person?since=2026-06-27T11%3A48%3A54.477275109Z&includeRelated=false. 2026-06-27 15:48:56.680 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:56.681 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.048 seconds. 2026-06-27 15:48:56.682 [DefaultDispatcher-worker-3 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45419 2026-06-27 15:48:56.744 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45419/api/school/respect/person 2026-06-27 15:48:56.745 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@7fef3831 for http://localhost:45419/api/school/respect/person 2026-06-27 15:48:56.745 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45419/api/school/respect/person 2026-06-27 15:48:56.745 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:45419/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 15:48:56.748 [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-27 15:48:56.754 [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-27 15:48:56.756 [DefaultDispatcher-worker-3 @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-27 15:48:56.757 [DefaultDispatcher-worker-1 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45419/api/school/respect/person 2026-06-27 15:48:56.757 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45419/api/school/respect/person 2026-06-27 15:48:56.757 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45419/api/school/respect/person 2026-06-27 15:48:58.848 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:48:58.848 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 15:48:58.850 [DefaultDispatcher-worker-1 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37089 2026-06-27 15:48:58.850 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37089/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:58.850 [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:37089/api/school/respect/schoolpermissiongrant. 2026-06-27 15:48:58.850 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37089/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:58.853 [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-27 15:48:58.855 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37089/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:58.855 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37089/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:58.855 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37089/api/school/respect/schoolpermissiongrant 2026-06-27 15:48:58.855 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37089/api/school/respect/schoolpermissiongrant. 2026-06-27 15:48:58.904 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:48:58.904 [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:37089/api/school/respect/person?includeRelated=false. 2026-06-27 15:48:58.905 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:48:58.906 [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-27 15:48:58.911 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:48:58.911 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:48:58.911 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:48:58.912 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37089/api/school/respect/person?includeRelated=false. 2026-06-27 15:49:00.917 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:49:00.917 [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:37089/api/school/respect/person?includeRelated=false. 2026-06-27 15:49:00.917 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:49:00.919 [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-27 15:49:00.921 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:49:00.921 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:49:00.922 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37089/api/school/respect/person?includeRelated=false 2026-06-27 15:49:00.922 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37089/api/school/respect/person?includeRelated=false. 2026-06-27 15:49:03.036 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:49:03.036 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 15:49:03.037 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38223 2026-06-27 15:49:03.039 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38223/api/school/respect/person?includeRelated=false 2026-06-27 15:49:03.039 [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:38223/api/school/respect/person?includeRelated=false. 2026-06-27 15:49:03.039 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38223/api/school/respect/person?includeRelated=false 2026-06-27 15:49:03.042 [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-27 15:49:03.045 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38223/api/school/respect/person?includeRelated=false 2026-06-27 15:49:03.046 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38223/api/school/respect/person?includeRelated=false 2026-06-27 15:49:03.046 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38223/api/school/respect/person?includeRelated=false 2026-06-27 15:49:03.046 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38223/api/school/respect/person?includeRelated=false. 2026-06-27 15:49:03.097 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38223/api/school/respect/person?since=2026-06-27T11%3A49%3A03.042574163Z&includeRelated=false 2026-06-27 15:49:03.097 [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:38223/api/school/respect/person?since=2026-06-27T11%3A49%3A03.042574163Z&includeRelated=false. 2026-06-27 15:49:03.097 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38223/api/school/respect/person?since=2026-06-27T11%3A49%3A03.042574163Z&includeRelated=false 2026-06-27 15:49:03.098 [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-27 15:49:03.101 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38223/api/school/respect/person?since=2026-06-27T11%3A49%3A03.042574163Z&includeRelated=false 2026-06-27 15:49:03.101 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38223/api/school/respect/person?since=2026-06-27T11%3A49%3A03.042574163Z&includeRelated=false 2026-06-27 15:49:03.101 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38223/api/school/respect/person?since=2026-06-27T11%3A49%3A03.042574163Z&includeRelated=false 2026-06-27 15:49:03.102 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38223/api/school/respect/person?since=2026-06-27T11%3A49%3A03.042574163Z&includeRelated=false. 2026-06-27 15:49:05.241 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:49:05.242 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.058 seconds. 2026-06-27 15:49:05.243 [DefaultDispatcher-worker-5 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46075 2026-06-27 15:49:05.245 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46075/playlist/7352dff8-550a-4a90-b6e1-4246737ed243 2026-06-27 15:49:05.245 [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:46075/playlist/7352dff8-550a-4a90-b6e1-4246737ed243. 2026-06-27 15:49:05.245 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46075/playlist/7352dff8-550a-4a90-b6e1-4246737ed243 2026-06-27 15:49:05.248 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 7352dff8-550a-4a90-b6e1-4246737ed243] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[7352dff8-550a-4a90-b6e1-4246737ed243]] @ /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=[7352dff8-550a-4a90-b6e1-4246737ed243]] @ /playlist/{uuid}/(method:GET) 2026-06-27 15:49:05.253 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46075/playlist/7352dff8-550a-4a90-b6e1-4246737ed243 2026-06-27 15:49:05.254 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46075/playlist/7352dff8-550a-4a90-b6e1-4246737ed243 2026-06-27 15:49:05.254 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46075/playlist/7352dff8-550a-4a90-b6e1-4246737ed243 2026-06-27 15:49:05.254 [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:46075/playlist/7352dff8-550a-4a90-b6e1-4246737ed243. 2026-06-27 15:49:07.407 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:49:07.407 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-06-27 15:49:07.408 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33711 2026-06-27 15:49:07.449 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33711/playlist/9dfee3d7-2402-4c9d-8273-52d1814a7e76 2026-06-27 15:49:07.449 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@a78db9c for http://localhost:33711/playlist/9dfee3d7-2402-4c9d-8273-52d1814a7e76 2026-06-27 15:49:07.449 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33711/playlist/9dfee3d7-2402-4c9d-8273-52d1814a7e76 2026-06-27 15:49:07.449 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33711/playlist/9dfee3d7-2402-4c9d-8273-52d1814a7e76 from class io.ktor.http.content.TextContent 2026-06-27 15:49:07.452 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 9dfee3d7-2402-4c9d-8273-52d1814a7e76] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[9dfee3d7-2402-4c9d-8273-52d1814a7e76]] @ /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=[9dfee3d7-2402-4c9d-8273-52d1814a7e76]] @ /playlist/{uuid}/(method:POST) 2026-06-27 15:49:07.452 [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/9dfee3d7-2402-4c9d-8273-52d1814a7e76 2026-06-27 15:49:07.453 [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/9dfee3d7-2402-4c9d-8273-52d1814a7e76 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 15:49:07.454 [DefaultDispatcher-worker-10 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33711/playlist/9dfee3d7-2402-4c9d-8273-52d1814a7e76 2026-06-27 15:49:07.454 [DefaultDispatcher-worker-10 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33711/playlist/9dfee3d7-2402-4c9d-8273-52d1814a7e76 2026-06-27 15:49:07.454 [DefaultDispatcher-worker-10 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33711/playlist/9dfee3d7-2402-4c9d-8273-52d1814a7e76 2026-06-27 15:49:09.547 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:49:09.549 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 15:49:09.549 [DefaultDispatcher-worker-10 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35797 2026-06-27 15:49:09.629 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35797/api/school/xapi/statements 2026-06-27 15:49:09.630 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@35d90ebb for http://localhost:35797/api/school/xapi/statements 2026-06-27 15:49:09.630 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35797/api/school/xapi/statements 2026-06-27 15:49:09.630 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35797/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 15:49:09.633 [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-27 15:49:09.633 [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-27 15:49:09.643 [DefaultDispatcher-worker-1 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35797/api/school/xapi/statements 2026-06-27 15:49:09.643 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35797/api/school/xapi/statements 2026-06-27 15:49:09.643 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35797/api/school/xapi/statements 2026-06-27 15:49:09.644 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35797/api/school/xapi/statements. 2026-06-27 15:49:11.737 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 15:49:11.738 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-06-27 15:49:11.739 [DefaultDispatcher-worker-5 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43185 2026-06-27 15:49:11.783 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43185/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:49:11.783 [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:43185/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 15:49:11.783 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43185/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:49:11.785 [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-27 15:49:11.789 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43185/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:49:11.789 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43185/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:49:11.789 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43185/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 15:49:11.790 [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:43185/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 16:20:56.086 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:20:56.179 [Test worker] INFO io.ktor.server.Application - Application started in 0.223 seconds. 2026-06-27 16:20:56.264 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42263 2026-06-27 16:20:57.119 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42263/resources/index.json 2026-06-27 16:20:57.120 [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:42263/resources/index.json. 2026-06-27 16:20:57.120 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42263/resources/index.json 2026-06-27 16:20:57.320 [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-27 16:20:57.416 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 104ms 2026-06-27 16:20:57.423 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42263/resources/index.json 2026-06-27 16:20:57.429 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42263/resources/index.json 2026-06-27 16:20:57.429 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42263/resources/index.json 2026-06-27 16:20:57.482 [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:42263/resources/index.json. 2026-06-27 16:20:57.548 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42263/resources/index.json 2026-06-27 16:20:57.548 [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:42263/resources/index.json. 2026-06-27 16:20:57.548 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42263/resources/index.json 2026-06-27 16:20:57.552 [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-27 16:20:57.554 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-06-27 16:20:57.559 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42263/resources/index.json 2026-06-27 16:20:57.562 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42263/resources/index.json 2026-06-27 16:20:57.562 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42263/resources/index.json 2026-06-27 16:20:58.600 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@1e09cb5a 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-27 16:20:59.609 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:20:59.609 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-27 16:20:59.611 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34913 2026-06-27 16:20:59.686 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34913/resources/index.json 2026-06-27 16:20:59.686 [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:34913/resources/index.json. 2026-06-27 16:20:59.686 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34913/resources/index.json 2026-06-27 16:20:59.690 [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-27 16:20:59.691 [DefaultDispatcher-worker-5 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-27 16:20:59.692 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34913/resources/index.json 2026-06-27 16:20:59.692 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34913/resources/index.json 2026-06-27 16:20:59.692 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34913/resources/index.json 2026-06-27 16:20:59.693 [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:34913/resources/index.json. 2026-06-27 16:20:59.698 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34913/resources/index.json 2026-06-27 16:20:59.698 [DefaultDispatcher-worker-5 @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:34913/resources/index.json. 2026-06-27 16:20:59.698 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34913/resources/index.json 2026-06-27 16:20:59.700 [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-27 16:20:59.700 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-27 16:20:59.701 [DefaultDispatcher-worker-5 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34913/resources/index.json 2026-06-27 16:20:59.701 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34913/resources/index.json 2026-06-27 16:20:59.701 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34913/resources/index.json 2026-06-27 16:21:01.729 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:01.729 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-27 16:21:01.731 [DefaultDispatcher-worker-5 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45135 2026-06-27 16:21:01.738 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45135/resources/lesson001.json 2026-06-27 16:21:01.738 [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:45135/resources/lesson001.json. 2026-06-27 16:21:01.738 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45135/resources/lesson001.json 2026-06-27 16:21:01.742 [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-27 16:21:01.744 [DefaultDispatcher-worker-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-27 16:21:01.744 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45135/resources/lesson001.json 2026-06-27 16:21:01.745 [DefaultDispatcher-worker-6 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45135/resources/lesson001.json 2026-06-27 16:21:01.745 [DefaultDispatcher-worker-6 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45135/resources/lesson001.json 2026-06-27 16:21:01.749 [DefaultDispatcher-worker-6 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:45135/resources/lesson001.json. 2026-06-27 16:21:04.073 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:04.084 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.14 seconds. 2026-06-27 16:21:04.088 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36749 2026-06-27 16:21:04.105 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36749/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:04.108 [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:36749/api/school/respect/schoolpermissiongrant. 2026-06-27 16:21:04.109 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36749/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:04.122 [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-27 16:21:04.161 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36749/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:04.161 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36749/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:04.162 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36749/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:04.165 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36749/api/school/respect/schoolpermissiongrant. 2026-06-27 16:21:04.278 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.278 [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:36749/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:04.278 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.289 [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-27 16:21:04.323 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.324 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.324 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.326 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36749/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:04.338 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.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:36749/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:04.338 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.343 [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-27 16:21:04.346 [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-27 16:21:04.348 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.349 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:04.349 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36749/api/school/respect/person?includeRelated=false 2026-06-27 16:21:06.511 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:06.515 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.057 seconds. 2026-06-27 16:21:06.522 [DefaultDispatcher-worker-5 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44473 2026-06-27 16:21:06.525 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44473/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:06.525 [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:44473/api/school/respect/schoolpermissiongrant. 2026-06-27 16:21:06.525 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44473/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:06.534 [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-27 16:21:06.542 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44473/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:06.544 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44473/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:06.544 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44473/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:06.545 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44473/api/school/respect/schoolpermissiongrant. 2026-06-27 16:21:06.626 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44473/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 16:21:06.626 [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:44473/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 16:21:06.626 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44473/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 16:21:06.647 [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-27 16:21:06.660 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44473/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 16:21:06.660 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44473/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 16:21:06.660 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44473/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-27 16:21:06.665 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44473/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-27 16:21:08.810 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:08.811 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 16:21:08.813 [DefaultDispatcher-worker-3 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42573 2026-06-27 16:21:08.817 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42573/api/school/respect/person?includeRelated=false 2026-06-27 16:21:08.817 [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:42573/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:08.817 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42573/api/school/respect/person?includeRelated=false 2026-06-27 16:21:08.820 [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-27 16:21:08.824 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42573/api/school/respect/person?includeRelated=false 2026-06-27 16:21:08.825 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42573/api/school/respect/person?includeRelated=false 2026-06-27 16:21:08.825 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42573/api/school/respect/person?includeRelated=false 2026-06-27 16:21:08.826 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42573/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:08.881 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42573/api/school/respect/person?since=2026-06-27T12%3A21%3A08.821350251Z&includeRelated=false 2026-06-27 16:21:08.881 [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:42573/api/school/respect/person?since=2026-06-27T12%3A21%3A08.821350251Z&includeRelated=false. 2026-06-27 16:21:08.881 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42573/api/school/respect/person?since=2026-06-27T12%3A21%3A08.821350251Z&includeRelated=false 2026-06-27 16:21:08.883 [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-27 16:21:08.887 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42573/api/school/respect/person?since=2026-06-27T12%3A21%3A08.821350251Z&includeRelated=false 2026-06-27 16:21:08.887 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42573/api/school/respect/person?since=2026-06-27T12%3A21%3A08.821350251Z&includeRelated=false 2026-06-27 16:21:08.887 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42573/api/school/respect/person?since=2026-06-27T12%3A21%3A08.821350251Z&includeRelated=false 2026-06-27 16:21:08.888 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42573/api/school/respect/person?since=2026-06-27T12%3A21%3A08.821350251Z&includeRelated=false. 2026-06-27 16:21:11.054 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:11.056 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-06-27 16:21:11.074 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41995 2026-06-27 16:21:11.125 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41995/api/school/respect/person 2026-06-27 16:21:11.126 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@3556e79f for http://localhost:41995/api/school/respect/person 2026-06-27 16:21:11.126 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41995/api/school/respect/person 2026-06-27 16:21:11.126 [DefaultDispatcher-worker-8 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:41995/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-27 16:21:11.134 [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-27 16:21:11.149 [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-27 16:21:11.153 [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-27 16:21:11.155 [DefaultDispatcher-worker-8 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41995/api/school/respect/person 2026-06-27 16:21:11.155 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41995/api/school/respect/person 2026-06-27 16:21:11.155 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41995/api/school/respect/person 2026-06-27 16:21:13.330 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:13.331 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-27 16:21:13.332 [DefaultDispatcher-worker-2 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35007 2026-06-27 16:21:13.333 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35007/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:13.333 [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:35007/api/school/respect/schoolpermissiongrant. 2026-06-27 16:21:13.334 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35007/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:13.336 [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-27 16:21:13.339 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35007/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:13.339 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35007/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:13.339 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35007/api/school/respect/schoolpermissiongrant 2026-06-27 16:21:13.339 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35007/api/school/respect/schoolpermissiongrant. 2026-06-27 16:21:13.401 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:13.401 [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:35007/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:13.401 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:13.409 [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-27 16:21:13.422 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:13.422 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:13.422 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:13.423 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35007/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:15.440 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:15.440 [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:35007/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:15.440 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:15.442 [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-27 16:21:15.447 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:15.447 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:15.447 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:15.448 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35007/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:17.599 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:17.600 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.055 seconds. 2026-06-27 16:21:17.601 [DefaultDispatcher-worker-9 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44007 2026-06-27 16:21:17.603 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:17.603 [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:44007/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:17.603 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:17.605 [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-27 16:21:17.609 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:17.609 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:17.609 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44007/api/school/respect/person?includeRelated=false 2026-06-27 16:21:17.609 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44007/api/school/respect/person?includeRelated=false. 2026-06-27 16:21:17.686 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44007/api/school/respect/person?since=2026-06-27T12%3A21%3A17.605781898Z&includeRelated=false 2026-06-27 16:21:17.686 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44007/api/school/respect/person?since=2026-06-27T12%3A21%3A17.605781898Z&includeRelated=false. 2026-06-27 16:21:17.686 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44007/api/school/respect/person?since=2026-06-27T12%3A21%3A17.605781898Z&includeRelated=false 2026-06-27 16:21:17.690 [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-27 16:21:17.695 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44007/api/school/respect/person?since=2026-06-27T12%3A21%3A17.605781898Z&includeRelated=false 2026-06-27 16:21:17.695 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44007/api/school/respect/person?since=2026-06-27T12%3A21%3A17.605781898Z&includeRelated=false 2026-06-27 16:21:17.695 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44007/api/school/respect/person?since=2026-06-27T12%3A21%3A17.605781898Z&includeRelated=false 2026-06-27 16:21:17.696 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44007/api/school/respect/person?since=2026-06-27T12%3A21%3A17.605781898Z&includeRelated=false. 2026-06-27 16:21:19.894 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:19.895 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.082 seconds. 2026-06-27 16:21:19.896 [DefaultDispatcher-worker-6 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44141 2026-06-27 16:21:19.898 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44141/playlist/ef4e061f-533c-4e76-a306-542361436e71 2026-06-27 16:21:19.898 [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:44141/playlist/ef4e061f-533c-4e76-a306-542361436e71. 2026-06-27 16:21:19.898 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44141/playlist/ef4e061f-533c-4e76-a306-542361436e71 2026-06-27 16:21:19.901 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, ef4e061f-533c-4e76-a306-542361436e71] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[ef4e061f-533c-4e76-a306-542361436e71]] @ /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=[ef4e061f-533c-4e76-a306-542361436e71]] @ /playlist/{uuid}/(method:GET) 2026-06-27 16:21:19.912 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44141/playlist/ef4e061f-533c-4e76-a306-542361436e71 2026-06-27 16:21:19.912 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44141/playlist/ef4e061f-533c-4e76-a306-542361436e71 2026-06-27 16:21:19.912 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44141/playlist/ef4e061f-533c-4e76-a306-542361436e71 2026-06-27 16:21:19.918 [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:44141/playlist/ef4e061f-533c-4e76-a306-542361436e71. 2026-06-27 16:21:22.121 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:22.122 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-27 16:21:22.123 [DefaultDispatcher-worker-3 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34017 2026-06-27 16:21:22.172 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34017/playlist/c930f604-cb58-46be-bb9f-dbe714b7590f 2026-06-27 16:21:22.173 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@11d73b88 for http://localhost:34017/playlist/c930f604-cb58-46be-bb9f-dbe714b7590f 2026-06-27 16:21:22.173 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34017/playlist/c930f604-cb58-46be-bb9f-dbe714b7590f 2026-06-27 16:21:22.173 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34017/playlist/c930f604-cb58-46be-bb9f-dbe714b7590f from class io.ktor.http.content.TextContent 2026-06-27 16:21:22.175 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, c930f604-cb58-46be-bb9f-dbe714b7590f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[c930f604-cb58-46be-bb9f-dbe714b7590f]] @ /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=[c930f604-cb58-46be-bb9f-dbe714b7590f]] @ /playlist/{uuid}/(method:POST) 2026-06-27 16:21:22.176 [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/c930f604-cb58-46be-bb9f-dbe714b7590f 2026-06-27 16:21:22.177 [DefaultDispatcher-worker-8 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/c930f604-cb58-46be-bb9f-dbe714b7590f request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-27 16:21:22.177 [DefaultDispatcher-worker-9 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34017/playlist/c930f604-cb58-46be-bb9f-dbe714b7590f 2026-06-27 16:21:22.178 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34017/playlist/c930f604-cb58-46be-bb9f-dbe714b7590f 2026-06-27 16:21:22.178 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34017/playlist/c930f604-cb58-46be-bb9f-dbe714b7590f 2026-06-27 16:21:24.313 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:24.315 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-06-27 16:21:24.316 [DefaultDispatcher-worker-9 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34991 2026-06-27 16:21:24.407 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34991/api/school/xapi/statements 2026-06-27 16:21:24.409 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@16243bbe for http://localhost:34991/api/school/xapi/statements 2026-06-27 16:21:24.409 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34991/api/school/xapi/statements 2026-06-27 16:21:24.409 [DefaultDispatcher-worker-9 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34991/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-27 16:21:24.412 [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-27 16:21:24.412 [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-27 16:21:24.424 [DefaultDispatcher-worker-6 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34991/api/school/xapi/statements 2026-06-27 16:21:24.425 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34991/api/school/xapi/statements 2026-06-27 16:21:24.425 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34991/api/school/xapi/statements 2026-06-27 16:21:24.425 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34991/api/school/xapi/statements. 2026-06-27 16:21:26.556 [Test worker @coroutine#296] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-27 16:21:26.557 [Test worker @coroutine#296] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-27 16:21:26.559 [DefaultDispatcher-worker-6 @coroutine#305] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43551 2026-06-27 16:21:26.609 [Test worker @coroutine#296] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43551/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 16:21:26.610 [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:43551/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-27 16:21:26.610 [Test worker @coroutine#296] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43551/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 16:21:26.612 [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-27 16:21:26.616 [Test worker @coroutine#296] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43551/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 16:21:26.617 [Test worker @coroutine#296] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43551/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 16:21:26.617 [Test worker @coroutine#296] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43551/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-27 16:21:26.617 [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:43551/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false.