2026-03-30 08:58:23.323 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:23.442 [Test worker] INFO io.ktor.server.Application - Application started in 0.284 seconds. 2026-03-30 08:58:23.544 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37121 2026-03-30 08:58:24.542 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37121/resources/index.json 2026-03-30 08:58:24.543 [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:37121/resources/index.json. 2026-03-30 08:58:24.543 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37121/resources/index.json 2026-03-30 08:58:24.680 [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-03-30 08:58:24.729 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 54ms 2026-03-30 08:58:24.733 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37121/resources/index.json 2026-03-30 08:58:24.735 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37121/resources/index.json 2026-03-30 08:58:24.735 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37121/resources/index.json 2026-03-30 08:58:24.754 [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:37121/resources/index.json. 2026-03-30 08:58:24.791 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37121/resources/index.json 2026-03-30 08:58:24.791 [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:37121/resources/index.json. 2026-03-30 08:58:24.791 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37121/resources/index.json 2026-03-30 08:58:24.793 [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-03-30 08:58:24.795 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-03-30 08:58:24.795 [DefaultDispatcher-worker-1 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37121/resources/index.json 2026-03-30 08:58:24.796 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37121/resources/index.json 2026-03-30 08:58:24.796 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37121/resources/index.json 2026-03-30 08:58:26.814 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:26.815 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-03-30 08:58:26.816 [DefaultDispatcher-worker-3 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43965 2026-03-30 08:58:26.888 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43965/resources/index.json 2026-03-30 08:58:26.889 [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:43965/resources/index.json. 2026-03-30 08:58:26.889 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43965/resources/index.json 2026-03-30 08:58:26.892 [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-03-30 08:58:26.893 [DefaultDispatcher-worker-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-03-30 08:58:26.893 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43965/resources/index.json 2026-03-30 08:58:26.893 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43965/resources/index.json 2026-03-30 08:58:26.894 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43965/resources/index.json 2026-03-30 08:58:26.894 [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:43965/resources/index.json. 2026-03-30 08:58:26.899 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43965/resources/index.json 2026-03-30 08:58:26.899 [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:43965/resources/index.json. 2026-03-30 08:58:26.899 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43965/resources/index.json 2026-03-30 08:58:26.900 [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-03-30 08:58:26.900 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms 2026-03-30 08:58:26.901 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43965/resources/index.json 2026-03-30 08:58:26.901 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43965/resources/index.json 2026-03-30 08:58:26.901 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43965/resources/index.json 2026-03-30 08:58:28.908 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:28.909 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-03-30 08:58:28.910 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43355 2026-03-30 08:58:28.915 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43355/resources/lesson001.json 2026-03-30 08:58:28.915 [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:43355/resources/lesson001.json. 2026-03-30 08:58:28.915 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43355/resources/lesson001.json 2026-03-30 08:58:28.918 [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-03-30 08:58:28.918 [DefaultDispatcher-worker-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-03-30 08:58:28.919 [DefaultDispatcher-worker-2 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43355/resources/lesson001.json 2026-03-30 08:58:28.920 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43355/resources/lesson001.json 2026-03-30 08:58:28.920 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43355/resources/lesson001.json 2026-03-30 08:58:28.922 [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:43355/resources/lesson001.json. 2026-03-30 08:58:31.145 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:31.152 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.1 seconds. 2026-03-30 08:58:31.154 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41685 2026-03-30 08:58:31.162 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41685/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:31.162 [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:41685/api/school/respect/schoolpermissiongrant. 2026-03-30 08:58:31.162 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41685/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:31.166 [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-03-30 08:58:31.180 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41685/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:31.181 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41685/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:31.181 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41685/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:31.182 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41685/api/school/respect/schoolpermissiongrant. 2026-03-30 08:58:31.252 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.252 [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:41685/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:31.252 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.254 [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-03-30 08:58:31.274 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.275 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.275 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.276 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41685/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:31.282 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.282 [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:41685/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:31.282 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.284 [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-03-30 08:58:31.287 [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-03-30 08:58:31.288 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.288 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:31.288 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41685/api/school/respect/person?includeRelated=false 2026-03-30 08:58:33.406 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:33.407 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.047 seconds. 2026-03-30 08:58:33.408 [DefaultDispatcher-worker-4 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44347 2026-03-30 08:58:33.409 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44347/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:33.409 [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:44347/api/school/respect/schoolpermissiongrant. 2026-03-30 08:58:33.409 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44347/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:33.411 [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-03-30 08:58:33.413 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44347/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:33.413 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44347/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:33.413 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44347/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:33.414 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44347/api/school/respect/schoolpermissiongrant. 2026-03-30 08:58:33.459 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44347/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 08:58:33.459 [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:44347/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-03-30 08:58:33.459 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44347/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 08:58:33.460 [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-03-30 08:58:33.463 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44347/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 08:58:33.463 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44347/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 08:58:33.463 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44347/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 08:58:33.465 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44347/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-03-30 08:58:35.560 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:35.561 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-03-30 08:58:35.562 [DefaultDispatcher-worker-2 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39395 2026-03-30 08:58:35.564 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39395/api/school/respect/person?includeRelated=false 2026-03-30 08:58:35.564 [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:39395/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:35.564 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39395/api/school/respect/person?includeRelated=false 2026-03-30 08:58:35.567 [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-03-30 08:58:35.570 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39395/api/school/respect/person?includeRelated=false 2026-03-30 08:58:35.570 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39395/api/school/respect/person?includeRelated=false 2026-03-30 08:58:35.570 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39395/api/school/respect/person?includeRelated=false 2026-03-30 08:58:35.571 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39395/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:35.628 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39395/api/school/respect/person?since=2026-03-30T04%3A58%3A35.567587590Z&includeRelated=false 2026-03-30 08:58:35.628 [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:39395/api/school/respect/person?since=2026-03-30T04%3A58%3A35.567587590Z&includeRelated=false. 2026-03-30 08:58:35.628 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39395/api/school/respect/person?since=2026-03-30T04%3A58%3A35.567587590Z&includeRelated=false 2026-03-30 08:58:35.629 [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-03-30 08:58:35.632 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39395/api/school/respect/person?since=2026-03-30T04%3A58%3A35.567587590Z&includeRelated=false 2026-03-30 08:58:35.633 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39395/api/school/respect/person?since=2026-03-30T04%3A58%3A35.567587590Z&includeRelated=false 2026-03-30 08:58:35.633 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39395/api/school/respect/person?since=2026-03-30T04%3A58%3A35.567587590Z&includeRelated=false 2026-03-30 08:58:35.633 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39395/api/school/respect/person?since=2026-03-30T04%3A58%3A35.567587590Z&includeRelated=false. 2026-03-30 08:58:37.823 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:37.823 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.077 seconds. 2026-03-30 08:58:37.825 [DefaultDispatcher-worker-2 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35005 2026-03-30 08:58:37.928 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35005/api/school/respect/person 2026-03-30 08:58:37.928 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@147e4fd0 for http://localhost:35005/api/school/respect/person 2026-03-30 08:58:37.928 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35005/api/school/respect/person 2026-03-30 08:58:37.928 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35005/api/school/respect/person from class io.ktor.http.content.TextContent 2026-03-30 08:58:37.932 [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-03-30 08:58:37.937 [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-03-30 08:58:37.939 [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-03-30 08:58:37.940 [DefaultDispatcher-worker-1 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35005/api/school/respect/person 2026-03-30 08:58:37.940 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35005/api/school/respect/person 2026-03-30 08:58:37.940 [DefaultDispatcher-worker-1 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35005/api/school/respect/person 2026-03-30 08:58:40.043 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:40.044 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-03-30 08:58:40.045 [DefaultDispatcher-worker-1 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33967 2026-03-30 08:58:40.046 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33967/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:40.046 [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:33967/api/school/respect/schoolpermissiongrant. 2026-03-30 08:58:40.046 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33967/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:40.048 [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-03-30 08:58:40.050 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33967/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:40.050 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33967/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:40.050 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33967/api/school/respect/schoolpermissiongrant 2026-03-30 08:58:40.051 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33967/api/school/respect/schoolpermissiongrant. 2026-03-30 08:58:40.090 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:40.090 [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:33967/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:40.090 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:40.091 [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-03-30 08:58:40.097 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:40.098 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:40.098 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:40.098 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33967/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:42.103 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:42.104 [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:33967/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:42.104 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:42.105 [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-03-30 08:58:42.108 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:42.108 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:42.108 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33967/api/school/respect/person?includeRelated=false 2026-03-30 08:58:42.109 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33967/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:44.216 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:44.217 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.038 seconds. 2026-03-30 08:58:44.218 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37589 2026-03-30 08:58:44.220 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-03-30 08:58:44.220 [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:37589/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:44.220 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37589/api/school/respect/person?includeRelated=false 2026-03-30 08:58:44.222 [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-03-30 08:58:44.225 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-03-30 08:58:44.225 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37589/api/school/respect/person?includeRelated=false 2026-03-30 08:58:44.226 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-03-30 08:58:44.226 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37589/api/school/respect/person?includeRelated=false. 2026-03-30 08:58:44.274 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37589/api/school/respect/person?since=2026-03-30T04%3A58%3A44.222807231Z&includeRelated=false 2026-03-30 08:58:44.274 [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:37589/api/school/respect/person?since=2026-03-30T04%3A58%3A44.222807231Z&includeRelated=false. 2026-03-30 08:58:44.274 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37589/api/school/respect/person?since=2026-03-30T04%3A58%3A44.222807231Z&includeRelated=false 2026-03-30 08:58:44.275 [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-03-30 08:58:44.277 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37589/api/school/respect/person?since=2026-03-30T04%3A58%3A44.222807231Z&includeRelated=false 2026-03-30 08:58:44.277 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37589/api/school/respect/person?since=2026-03-30T04%3A58%3A44.222807231Z&includeRelated=false 2026-03-30 08:58:44.277 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37589/api/school/respect/person?since=2026-03-30T04%3A58%3A44.222807231Z&includeRelated=false 2026-03-30 08:58:44.278 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37589/api/school/respect/person?since=2026-03-30T04%3A58%3A44.222807231Z&includeRelated=false. 2026-03-30 08:58:46.389 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:46.390 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.041 seconds. 2026-03-30 08:58:46.391 [DefaultDispatcher-worker-10 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42569 2026-03-30 08:58:46.393 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42569/playlist/b8716d1a-6355-4d7e-bfab-436ff956b819 2026-03-30 08:58:46.393 [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:42569/playlist/b8716d1a-6355-4d7e-bfab-436ff956b819. 2026-03-30 08:58:46.393 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42569/playlist/b8716d1a-6355-4d7e-bfab-436ff956b819 2026-03-30 08:58:46.395 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, b8716d1a-6355-4d7e-bfab-436ff956b819] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[b8716d1a-6355-4d7e-bfab-436ff956b819]] @ /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=[b8716d1a-6355-4d7e-bfab-436ff956b819]] @ /playlist/{uuid}/(method:GET) 2026-03-30 08:58:46.401 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42569/playlist/b8716d1a-6355-4d7e-bfab-436ff956b819 2026-03-30 08:58:46.401 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42569/playlist/b8716d1a-6355-4d7e-bfab-436ff956b819 2026-03-30 08:58:46.401 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42569/playlist/b8716d1a-6355-4d7e-bfab-436ff956b819 2026-03-30 08:58:46.401 [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:42569/playlist/b8716d1a-6355-4d7e-bfab-436ff956b819. 2026-03-30 08:58:48.551 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 08:58:48.551 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-03-30 08:58:48.552 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34757 2026-03-30 08:58:48.592 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34757/playlist/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 2026-03-30 08:58:48.592 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@ace1345 for http://localhost:34757/playlist/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 2026-03-30 08:58:48.592 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34757/playlist/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 2026-03-30 08:58:48.592 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34757/playlist/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 from class io.ktor.http.content.TextContent 2026-03-30 08:58:48.594 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001]] @ /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=[e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001]] @ /playlist/{uuid}/(method:POST) 2026-03-30 08:58:48.595 [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/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 2026-03-30 08:58:48.596 [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/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-03-30 08:58:48.596 [DefaultDispatcher-worker-2 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34757/playlist/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 2026-03-30 08:58:48.597 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34757/playlist/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 2026-03-30 08:58:48.597 [DefaultDispatcher-worker-2 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34757/playlist/e2a3a3e2-9df0-44a7-a1e6-aea3da7e8001 2026-03-30 21:50:32.941 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:33.044 [Test worker] INFO io.ktor.server.Application - Application started in 0.241 seconds. 2026-03-30 21:50:33.137 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42465 2026-03-30 21:50:33.975 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42465/resources/index.json 2026-03-30 21:50:33.976 [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:42465/resources/index.json. 2026-03-30 21:50:33.976 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42465/resources/index.json 2026-03-30 21:50:34.149 [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-03-30 21:50:34.197 [DefaultDispatcher-worker-2 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 54ms 2026-03-30 21:50:34.200 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42465/resources/index.json 2026-03-30 21:50:34.202 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42465/resources/index.json 2026-03-30 21:50:34.203 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42465/resources/index.json 2026-03-30 21:50:34.231 [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:42465/resources/index.json. 2026-03-30 21:50:34.274 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42465/resources/index.json 2026-03-30 21:50:34.275 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:42465/resources/index.json. 2026-03-30 21:50:34.275 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42465/resources/index.json 2026-03-30 21:50:34.280 [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-03-30 21:50:34.283 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 3ms 2026-03-30 21:50:34.285 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42465/resources/index.json 2026-03-30 21:50:34.285 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42465/resources/index.json 2026-03-30 21:50:34.285 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42465/resources/index.json 2026-03-30 21:50:35.295 [eventLoopGroupProxy-3-1] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@357460b6 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-03-30 21:50:36.301 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:36.301 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-03-30 21:50:36.302 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45747 2026-03-30 21:50:36.375 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45747/resources/index.json 2026-03-30 21:50:36.375 [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:45747/resources/index.json. 2026-03-30 21:50:36.375 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45747/resources/index.json 2026-03-30 21:50:36.378 [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-03-30 21:50:36.379 [DefaultDispatcher-worker-2 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms 2026-03-30 21:50:36.380 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45747/resources/index.json 2026-03-30 21:50:36.380 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45747/resources/index.json 2026-03-30 21:50:36.380 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45747/resources/index.json 2026-03-30 21:50:36.380 [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:45747/resources/index.json. 2026-03-30 21:50:36.384 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45747/resources/index.json 2026-03-30 21:50:36.384 [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:45747/resources/index.json. 2026-03-30 21:50:36.384 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45747/resources/index.json 2026-03-30 21:50:36.386 [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-03-30 21:50:36.386 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-03-30 21:50:36.386 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45747/resources/index.json 2026-03-30 21:50:36.386 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45747/resources/index.json 2026-03-30 21:50:36.387 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45747/resources/index.json 2026-03-30 21:50:38.393 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:38.393 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-03-30 21:50:38.394 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40959 2026-03-30 21:50:38.399 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40959/resources/lesson001.json 2026-03-30 21:50:38.399 [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:40959/resources/lesson001.json. 2026-03-30 21:50:38.399 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40959/resources/lesson001.json 2026-03-30 21:50:38.402 [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-03-30 21:50:38.403 [eventLoopGroupProxy-10-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms 2026-03-30 21:50:38.404 [DefaultDispatcher-worker-2 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40959/resources/lesson001.json 2026-03-30 21:50:38.404 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40959/resources/lesson001.json 2026-03-30 21:50:38.404 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40959/resources/lesson001.json 2026-03-30 21:50:38.406 [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:40959/resources/lesson001.json. 2026-03-30 21:50:40.668 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:40.675 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.111 seconds. 2026-03-30 21:50:40.677 [DefaultDispatcher-worker-2 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39879 2026-03-30 21:50:40.684 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39879/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:40.684 [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:39879/api/school/respect/schoolpermissiongrant. 2026-03-30 21:50:40.684 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39879/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:40.688 [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-03-30 21:50:40.700 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39879/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:40.700 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39879/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:40.700 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39879/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:40.702 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39879/api/school/respect/schoolpermissiongrant. 2026-03-30 21:50:40.763 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.763 [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:39879/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:40.763 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.765 [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-03-30 21:50:40.783 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.783 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.783 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.784 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39879/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:40.791 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.791 [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:39879/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:40.791 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.794 [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-03-30 21:50:40.795 [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-03-30 21:50:40.796 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.796 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:40.796 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39879/api/school/respect/person?includeRelated=false 2026-03-30 21:50:43.012 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:43.013 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.13 seconds. 2026-03-30 21:50:43.015 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45617 2026-03-30 21:50:43.016 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45617/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:43.016 [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:45617/api/school/respect/schoolpermissiongrant. 2026-03-30 21:50:43.016 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45617/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:43.019 [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-03-30 21:50:43.021 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45617/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:43.021 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45617/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:43.021 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45617/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:43.021 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45617/api/school/respect/schoolpermissiongrant. 2026-03-30 21:50:43.116 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45617/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 21:50:43.116 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45617/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-03-30 21:50:43.116 [DefaultDispatcher-worker-2 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45617/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 21:50:43.117 [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-03-30 21:50:43.120 [DefaultDispatcher-worker-1 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45617/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 21:50:43.121 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45617/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 21:50:43.121 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45617/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-03-30 21:50:43.121 [DefaultDispatcher-worker-1 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45617/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-03-30 21:50:45.234 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:45.234 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-03-30 21:50:45.235 [DefaultDispatcher-worker-1 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44601 2026-03-30 21:50:45.238 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-03-30 21:50:45.238 [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:44601/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:45.238 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44601/api/school/respect/person?includeRelated=false 2026-03-30 21:50:45.240 [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-03-30 21:50:45.244 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-03-30 21:50:45.244 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44601/api/school/respect/person?includeRelated=false 2026-03-30 21:50:45.244 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44601/api/school/respect/person?includeRelated=false 2026-03-30 21:50:45.245 [Test worker @coroutine#122] 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-03-30 21:50:45.301 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44601/api/school/respect/person?since=2026-03-30T17%3A50%3A45.241275810Z&includeRelated=false 2026-03-30 21:50:45.301 [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:44601/api/school/respect/person?since=2026-03-30T17%3A50%3A45.241275810Z&includeRelated=false. 2026-03-30 21:50:45.301 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44601/api/school/respect/person?since=2026-03-30T17%3A50%3A45.241275810Z&includeRelated=false 2026-03-30 21:50:45.303 [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-03-30 21:50:45.305 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44601/api/school/respect/person?since=2026-03-30T17%3A50%3A45.241275810Z&includeRelated=false 2026-03-30 21:50:45.305 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44601/api/school/respect/person?since=2026-03-30T17%3A50%3A45.241275810Z&includeRelated=false 2026-03-30 21:50:45.305 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44601/api/school/respect/person?since=2026-03-30T17%3A50%3A45.241275810Z&includeRelated=false 2026-03-30 21:50:45.306 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44601/api/school/respect/person?since=2026-03-30T17%3A50%3A45.241275810Z&includeRelated=false. 2026-03-30 21:50:47.414 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:47.415 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-03-30 21:50:47.416 [DefaultDispatcher-worker-1 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46795 2026-03-30 21:50:47.468 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46795/api/school/respect/person 2026-03-30 21:50:47.468 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@32391809 for http://localhost:46795/api/school/respect/person 2026-03-30 21:50:47.468 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46795/api/school/respect/person 2026-03-30 21:50:47.468 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46795/api/school/respect/person from class io.ktor.http.content.TextContent 2026-03-30 21:50:47.472 [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-03-30 21:50:47.477 [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-03-30 21:50:47.478 [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-03-30 21:50:47.480 [DefaultDispatcher-worker-5 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46795/api/school/respect/person 2026-03-30 21:50:47.480 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46795/api/school/respect/person 2026-03-30 21:50:47.480 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46795/api/school/respect/person 2026-03-30 21:50:49.586 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:49.587 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-03-30 21:50:49.589 [DefaultDispatcher-worker-4 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41393 2026-03-30 21:50:49.590 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41393/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:49.590 [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:41393/api/school/respect/schoolpermissiongrant. 2026-03-30 21:50:49.590 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41393/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:49.592 [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-03-30 21:50:49.594 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41393/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:49.594 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41393/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:49.594 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41393/api/school/respect/schoolpermissiongrant 2026-03-30 21:50:49.594 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41393/api/school/respect/schoolpermissiongrant. 2026-03-30 21:50:49.634 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:49.634 [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:41393/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:49.634 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:49.635 [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-03-30 21:50:49.641 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:49.641 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:49.641 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:49.642 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41393/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:51.647 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:51.647 [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:41393/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:51.647 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:51.648 [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-03-30 21:50:51.651 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:51.651 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:51.651 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41393/api/school/respect/person?includeRelated=false 2026-03-30 21:50:51.652 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41393/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:53.754 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:53.754 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-03-30 21:50:53.756 [DefaultDispatcher-worker-2 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33719 2026-03-30 21:50:53.758 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33719/api/school/respect/person?includeRelated=false 2026-03-30 21:50:53.758 [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:33719/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:53.758 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33719/api/school/respect/person?includeRelated=false 2026-03-30 21:50:53.760 [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-03-30 21:50:53.763 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33719/api/school/respect/person?includeRelated=false 2026-03-30 21:50:53.764 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33719/api/school/respect/person?includeRelated=false 2026-03-30 21:50:53.764 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33719/api/school/respect/person?includeRelated=false 2026-03-30 21:50:53.764 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33719/api/school/respect/person?includeRelated=false. 2026-03-30 21:50:53.806 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33719/api/school/respect/person?since=2026-03-30T17%3A50%3A53.760807861Z&includeRelated=false 2026-03-30 21:50:53.806 [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:33719/api/school/respect/person?since=2026-03-30T17%3A50%3A53.760807861Z&includeRelated=false. 2026-03-30 21:50:53.806 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33719/api/school/respect/person?since=2026-03-30T17%3A50%3A53.760807861Z&includeRelated=false 2026-03-30 21:50:53.807 [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-03-30 21:50:53.809 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33719/api/school/respect/person?since=2026-03-30T17%3A50%3A53.760807861Z&includeRelated=false 2026-03-30 21:50:53.810 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33719/api/school/respect/person?since=2026-03-30T17%3A50%3A53.760807861Z&includeRelated=false 2026-03-30 21:50:53.810 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33719/api/school/respect/person?since=2026-03-30T17%3A50%3A53.760807861Z&includeRelated=false 2026-03-30 21:50:53.810 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33719/api/school/respect/person?since=2026-03-30T17%3A50%3A53.760807861Z&includeRelated=false. 2026-03-30 21:50:55.923 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:55.924 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.044 seconds. 2026-03-30 21:50:55.925 [DefaultDispatcher-worker-5 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44193 2026-03-30 21:50:55.927 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44193/playlist/91e50356-821d-4f72-b4b6-d9547b3abb43 2026-03-30 21:50:55.927 [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:44193/playlist/91e50356-821d-4f72-b4b6-d9547b3abb43. 2026-03-30 21:50:55.927 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44193/playlist/91e50356-821d-4f72-b4b6-d9547b3abb43 2026-03-30 21:50:55.929 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 91e50356-821d-4f72-b4b6-d9547b3abb43] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[91e50356-821d-4f72-b4b6-d9547b3abb43]] @ /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=[91e50356-821d-4f72-b4b6-d9547b3abb43]] @ /playlist/{uuid}/(method:GET) 2026-03-30 21:50:55.935 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44193/playlist/91e50356-821d-4f72-b4b6-d9547b3abb43 2026-03-30 21:50:55.935 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44193/playlist/91e50356-821d-4f72-b4b6-d9547b3abb43 2026-03-30 21:50:55.935 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44193/playlist/91e50356-821d-4f72-b4b6-d9547b3abb43 2026-03-30 21:50:55.935 [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:44193/playlist/91e50356-821d-4f72-b4b6-d9547b3abb43. 2026-03-30 21:50:58.087 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-03-30 21:50:58.087 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.039 seconds. 2026-03-30 21:50:58.088 [DefaultDispatcher-worker-5 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44289 2026-03-30 21:50:58.128 [DefaultDispatcher-worker-4 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44289/playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e 2026-03-30 21:50:58.128 [DefaultDispatcher-worker-4 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@1ee43f36 for http://localhost:44289/playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e 2026-03-30 21:50:58.128 [DefaultDispatcher-worker-4 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44289/playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e 2026-03-30 21:50:58.128 [DefaultDispatcher-worker-4 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44289/playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e from class io.ktor.http.content.TextContent 2026-03-30 21:50:58.130 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 92fb90f9-30c7-4a86-91a3-f4a9b15fab7e] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[92fb90f9-30c7-4a86-91a3-f4a9b15fab7e]] @ /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=[92fb90f9-30c7-4a86-91a3-f4a9b15fab7e]] @ /playlist/{uuid}/(method:POST) 2026-03-30 21:50:58.131 [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/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e 2026-03-30 21:50:58.132 [DefaultDispatcher-worker-4 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-03-30 21:50:58.132 [DefaultDispatcher-worker-9 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44289/playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e 2026-03-30 21:50:58.133 [DefaultDispatcher-worker-16 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44289/playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e 2026-03-30 21:50:58.133 [DefaultDispatcher-worker-16 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44289/playlist/92fb90f9-30c7-4a86-91a3-f4a9b15fab7e