2026-05-04 10:45:35.301 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:35.600 [Test worker] INFO io.ktor.server.Application - Application started in 0.611 seconds. 2026-05-04 10:45:35.785 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40117 2026-05-04 10:45:37.492 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40117/resources/index.json 2026-05-04 10:45:37.495 [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:40117/resources/index.json. 2026-05-04 10:45:37.496 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40117/resources/index.json 2026-05-04 10:45:37.832 [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-05-04 10:45:37.928 [DefaultDispatcher-worker-3 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 104ms 2026-05-04 10:45:37.941 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40117/resources/index.json 2026-05-04 10:45:37.945 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40117/resources/index.json 2026-05-04 10:45:37.945 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40117/resources/index.json 2026-05-04 10:45:37.985 [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:40117/resources/index.json. 2026-05-04 10:45:38.045 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40117/resources/index.json 2026-05-04 10:45:38.046 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40117/resources/index.json. 2026-05-04 10:45:38.046 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40117/resources/index.json 2026-05-04 10:45:38.053 [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-05-04 10:45:38.057 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 5ms 2026-05-04 10:45:38.060 [DefaultDispatcher-worker-3 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40117/resources/index.json 2026-05-04 10:45:38.061 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40117/resources/index.json 2026-05-04 10:45:38.061 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40117/resources/index.json 2026-05-04 10:45:40.094 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:40.097 [Test worker] INFO io.ktor.server.Application - Application started in 0.003 seconds. 2026-05-04 10:45:40.102 [DefaultDispatcher-worker-3 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36981 2026-05-04 10:45:40.126 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36981/resources/index.json 2026-05-04 10:45:40.127 [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:36981/resources/index.json. 2026-05-04 10:45:40.127 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36981/resources/index.json 2026-05-04 10:45:40.134 [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-05-04 10:45:40.137 [DefaultDispatcher-worker-3 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 3ms 2026-05-04 10:45:40.138 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36981/resources/index.json 2026-05-04 10:45:40.139 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36981/resources/index.json 2026-05-04 10:45:40.139 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36981/resources/index.json 2026-05-04 10:45:40.142 [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:36981/resources/index.json. 2026-05-04 10:45:40.157 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36981/resources/index.json 2026-05-04 10:45:40.158 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36981/resources/index.json. 2026-05-04 10:45:40.158 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36981/resources/index.json 2026-05-04 10:45:40.161 [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-05-04 10:45:40.163 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-05-04 10:45:40.163 [DefaultDispatcher-worker-6 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36981/resources/index.json 2026-05-04 10:45:40.164 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36981/resources/index.json 2026-05-04 10:45:40.164 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36981/resources/index.json 2026-05-04 10:45:42.204 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:42.206 [Test worker] INFO io.ktor.server.Application - Application started in 0.003 seconds. 2026-05-04 10:45:42.213 [DefaultDispatcher-worker-6 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39365 2026-05-04 10:45:42.235 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39365/resources/lesson001.json 2026-05-04 10:45:42.236 [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:39365/resources/lesson001.json. 2026-05-04 10:45:42.236 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39365/resources/lesson001.json 2026-05-04 10:45:42.256 [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-05-04 10:45:42.265 [DefaultDispatcher-worker-5 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 10ms 2026-05-04 10:45:42.281 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39365/resources/lesson001.json 2026-05-04 10:45:42.283 [DefaultDispatcher-worker-10 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39365/resources/lesson001.json 2026-05-04 10:45:42.283 [DefaultDispatcher-worker-10 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39365/resources/lesson001.json 2026-05-04 10:45:42.291 [DefaultDispatcher-worker-10 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:39365/resources/lesson001.json. 2026-05-04 10:45:44.724 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:44.775 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.253 seconds. 2026-05-04 10:45:44.802 [DefaultDispatcher-worker-3 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44359 2026-05-04 10:45:44.857 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44359/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:44.859 [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:44359/api/school/respect/schoolpermissiongrant. 2026-05-04 10:45:44.859 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44359/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:44.878 [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-05-04 10:45:44.936 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44359/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:44.938 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44359/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:44.938 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44359/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:44.948 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44359/api/school/respect/schoolpermissiongrant. 2026-05-04 10:45:45.040 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.040 [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:44359/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:45.040 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.046 [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-05-04 10:45:45.108 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.109 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.109 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.111 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44359/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:45.129 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.130 [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:44359/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:45.130 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.134 [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-05-04 10:45:45.140 [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-05-04 10:45:45.143 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.145 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:45.145 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44359/api/school/respect/person?includeRelated=false 2026-05-04 10:45:47.203 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:47.204 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.01 seconds. 2026-05-04 10:45:47.207 [DefaultDispatcher-worker-4 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39889 2026-05-04 10:45:47.208 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39889/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:47.208 [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:39889/api/school/respect/schoolpermissiongrant. 2026-05-04 10:45:47.208 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39889/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:47.214 [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-05-04 10:45:47.221 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39889/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:47.222 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39889/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:47.222 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39889/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:47.223 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39889/api/school/respect/schoolpermissiongrant. 2026-05-04 10:45:47.254 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39889/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 10:45:47.255 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39889/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 10:45:47.255 [DefaultDispatcher-worker-3 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39889/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 10:45:47.259 [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-05-04 10:45:47.267 [DefaultDispatcher-worker-7 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39889/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 10:45:47.270 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39889/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 10:45:47.270 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39889/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 10:45:47.272 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39889/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 10:45:49.332 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:49.333 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.008 seconds. 2026-05-04 10:45:49.335 [DefaultDispatcher-worker-7 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40183 2026-05-04 10:45:49.340 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40183/api/school/respect/person?includeRelated=false 2026-05-04 10:45:49.340 [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:40183/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:49.340 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40183/api/school/respect/person?includeRelated=false 2026-05-04 10:45:49.345 [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-05-04 10:45:49.351 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40183/api/school/respect/person?includeRelated=false 2026-05-04 10:45:49.352 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40183/api/school/respect/person?includeRelated=false 2026-05-04 10:45:49.352 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40183/api/school/respect/person?includeRelated=false 2026-05-04 10:45:49.353 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40183/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:49.381 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40183/api/school/respect/person?since=2026-05-04T06%3A45%3A49.345786556Z&includeRelated=false 2026-05-04 10:45:49.382 [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:40183/api/school/respect/person?since=2026-05-04T06%3A45%3A49.345786556Z&includeRelated=false. 2026-05-04 10:45:49.382 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40183/api/school/respect/person?since=2026-05-04T06%3A45%3A49.345786556Z&includeRelated=false 2026-05-04 10:45:49.385 [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-05-04 10:45:49.390 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40183/api/school/respect/person?since=2026-05-04T06%3A45%3A49.345786556Z&includeRelated=false 2026-05-04 10:45:49.391 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40183/api/school/respect/person?since=2026-05-04T06%3A45%3A49.345786556Z&includeRelated=false 2026-05-04 10:45:49.391 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40183/api/school/respect/person?since=2026-05-04T06%3A45%3A49.345786556Z&includeRelated=false 2026-05-04 10:45:49.392 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40183/api/school/respect/person?since=2026-05-04T06%3A45%3A49.345786556Z&includeRelated=false. 2026-05-04 10:45:51.450 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:51.451 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.012 seconds. 2026-05-04 10:45:51.453 [DefaultDispatcher-worker-9 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39819 2026-05-04 10:45:51.489 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39819/api/school/respect/person 2026-05-04 10:45:51.495 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@9ec1959 for http://localhost:39819/api/school/respect/person 2026-05-04 10:45:51.495 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39819/api/school/respect/person 2026-05-04 10:45:51.495 [DefaultDispatcher-worker-11 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39819/api/school/respect/person from class io.ktor.http.content.TextContent 2026-05-04 10:45:51.523 [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-05-04 10:45:51.538 [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-05-04 10:45:51.543 [DefaultDispatcher-worker-7 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 10:45:51.549 [DefaultDispatcher-worker-9 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39819/api/school/respect/person 2026-05-04 10:45:51.549 [DefaultDispatcher-worker-9 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39819/api/school/respect/person 2026-05-04 10:45:51.549 [DefaultDispatcher-worker-9 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39819/api/school/respect/person 2026-05-04 10:45:53.653 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:53.655 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.016 seconds. 2026-05-04 10:45:53.658 [DefaultDispatcher-worker-9 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42315 2026-05-04 10:45:53.660 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42315/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:53.661 [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:42315/api/school/respect/schoolpermissiongrant. 2026-05-04 10:45:53.661 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42315/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:53.668 [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-05-04 10:45:53.675 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42315/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:53.675 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42315/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:53.675 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42315/api/school/respect/schoolpermissiongrant 2026-05-04 10:45:53.676 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42315/api/school/respect/schoolpermissiongrant. 2026-05-04 10:45:53.694 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:53.694 [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:42315/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:53.694 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:53.702 [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-05-04 10:45:53.719 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:53.719 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:53.719 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:53.723 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42315/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:55.750 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:55.755 [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:42315/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:55.759 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:55.769 [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-05-04 10:45:55.782 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:55.782 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:55.782 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42315/api/school/respect/person?includeRelated=false 2026-05-04 10:45:55.784 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42315/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:57.926 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:45:57.928 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.024 seconds. 2026-05-04 10:45:57.949 [DefaultDispatcher-worker-2 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36415 2026-05-04 10:45:57.954 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36415/api/school/respect/person?includeRelated=false 2026-05-04 10:45:57.954 [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:36415/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:57.955 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36415/api/school/respect/person?includeRelated=false 2026-05-04 10:45:57.982 [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-05-04 10:45:58.009 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36415/api/school/respect/person?includeRelated=false 2026-05-04 10:45:58.009 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36415/api/school/respect/person?includeRelated=false 2026-05-04 10:45:58.009 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36415/api/school/respect/person?includeRelated=false 2026-05-04 10:45:58.013 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36415/api/school/respect/person?includeRelated=false. 2026-05-04 10:45:58.070 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36415/api/school/respect/person?since=2026-05-04T06%3A45%3A57.988709982Z&includeRelated=false 2026-05-04 10:45:58.073 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36415/api/school/respect/person?since=2026-05-04T06%3A45%3A57.988709982Z&includeRelated=false. 2026-05-04 10:45:58.073 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36415/api/school/respect/person?since=2026-05-04T06%3A45%3A57.988709982Z&includeRelated=false 2026-05-04 10:45:58.080 [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-05-04 10:45:58.093 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36415/api/school/respect/person?since=2026-05-04T06%3A45%3A57.988709982Z&includeRelated=false 2026-05-04 10:45:58.094 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36415/api/school/respect/person?since=2026-05-04T06%3A45%3A57.988709982Z&includeRelated=false 2026-05-04 10:45:58.094 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36415/api/school/respect/person?since=2026-05-04T06%3A45%3A57.988709982Z&includeRelated=false 2026-05-04 10:45:58.096 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36415/api/school/respect/person?since=2026-05-04T06%3A45%3A57.988709982Z&includeRelated=false. 2026-05-04 10:46:00.222 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:46:00.226 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.027 seconds. 2026-05-04 10:46:00.229 [DefaultDispatcher-worker-1 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38741 2026-05-04 10:46:00.235 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38741/playlist/60916518-eb9c-48c9-98be-e51a701d0875 2026-05-04 10:46:00.236 [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:38741/playlist/60916518-eb9c-48c9-98be-e51a701d0875. 2026-05-04 10:46:00.236 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38741/playlist/60916518-eb9c-48c9-98be-e51a701d0875 2026-05-04 10:46:00.242 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 60916518-eb9c-48c9-98be-e51a701d0875] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[60916518-eb9c-48c9-98be-e51a701d0875]] @ /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=[60916518-eb9c-48c9-98be-e51a701d0875]] @ /playlist/{uuid}/(method:GET) 2026-05-04 10:46:00.256 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38741/playlist/60916518-eb9c-48c9-98be-e51a701d0875 2026-05-04 10:46:00.257 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38741/playlist/60916518-eb9c-48c9-98be-e51a701d0875 2026-05-04 10:46:00.257 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38741/playlist/60916518-eb9c-48c9-98be-e51a701d0875 2026-05-04 10:46:00.258 [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:38741/playlist/60916518-eb9c-48c9-98be-e51a701d0875. 2026-05-04 10:46:02.360 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:46:02.362 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.019 seconds. 2026-05-04 10:46:02.369 [DefaultDispatcher-worker-5 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35379 2026-05-04 10:46:02.391 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35379/playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce 2026-05-04 10:46:02.392 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@98d18c5 for http://localhost:35379/playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce 2026-05-04 10:46:02.392 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35379/playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce 2026-05-04 10:46:02.392 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:35379/playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce from class io.ktor.http.content.TextContent 2026-05-04 10:46:02.398 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 8041f76d-bc2f-4818-b610-1ea37f3012ce] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[8041f76d-bc2f-4818-b610-1ea37f3012ce]] @ /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=[8041f76d-bc2f-4818-b610-1ea37f3012ce]] @ /playlist/{uuid}/(method:POST) 2026-05-04 10:46:02.399 [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/8041f76d-bc2f-4818-b610-1ea37f3012ce 2026-05-04 10:46:02.401 [DefaultDispatcher-worker-5 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 10:46:02.404 [DefaultDispatcher-worker-9 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35379/playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce 2026-05-04 10:46:02.404 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35379/playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce 2026-05-04 10:46:02.404 [DefaultDispatcher-worker-9 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35379/playlist/8041f76d-bc2f-4818-b610-1ea37f3012ce 2026-05-04 10:46:04.511 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:46:04.515 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.016 seconds. 2026-05-04 10:46:04.517 [DefaultDispatcher-worker-1 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33179 2026-05-04 10:46:04.646 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33179/api/school/xapi/statements 2026-05-04 10:46:04.648 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6d870848 for http://localhost:33179/api/school/xapi/statements 2026-05-04 10:46:04.648 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33179/api/school/xapi/statements 2026-05-04 10:46:04.648 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33179/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-05-04 10:46:04.654 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-05-04 10:46:04.654 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-05-04 10:46:04.710 [DefaultDispatcher-worker-8 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33179/api/school/xapi/statements 2026-05-04 10:46:04.710 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33179/api/school/xapi/statements 2026-05-04 10:46:04.711 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33179/api/school/xapi/statements 2026-05-04 10:46:04.711 [DefaultDispatcher-worker-8 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33179/api/school/xapi/statements. 2026-05-04 10:46:06.752 [Test worker @coroutine#294] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 10:46:06.753 [Test worker @coroutine#294] INFO io.ktor.server.Application - Application started in 0.009 seconds. 2026-05-04 10:46:06.754 [DefaultDispatcher-worker-3 @coroutine#303] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43801 2026-05-04 10:46:06.772 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43801/api/school/xapi/statements 2026-05-04 10:46:06.773 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43801/api/school/xapi/statements. 2026-05-04 10:46:06.773 [Test worker @coroutine#294] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43801/api/school/xapi/statements 2026-05-04 10:46:06.777 [eventLoopGroupProxy-40-1 @call-handler#309] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-05-04 10:46:06.787 [Test worker @coroutine#294] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43801/api/school/xapi/statements 2026-05-04 10:46:06.787 [Test worker @coroutine#294] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43801/api/school/xapi/statements 2026-05-04 10:46:06.787 [Test worker @coroutine#294] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43801/api/school/xapi/statements 2026-05-04 10:46:06.789 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:43801/api/school/xapi/statements. 2026-05-04 11:21:59.734 [Test worker @coroutine#1] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:21:59.763 [Test worker @coroutine#1] INFO io.ktor.server.Application - Application started in 0.809 seconds. 2026-05-04 11:21:59.834 [DefaultDispatcher-worker-3 @coroutine#10] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44373 2026-05-04 11:21:59.976 [DefaultDispatcher-worker-3 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44373/api/school/xapi/statements 2026-05-04 11:21:59.986 [DefaultDispatcher-worker-3 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@3b2041e5 for http://localhost:44373/api/school/xapi/statements 2026-05-04 11:21:59.986 [DefaultDispatcher-worker-3 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44373/api/school/xapi/statements 2026-05-04 11:21:59.987 [DefaultDispatcher-worker-3 @coroutine#8] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44373/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-05-04 11:22:00.190 [eventLoopGroupProxy-4-1 @call-handler#18] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-05-04 11:22:00.224 [eventLoopGroupProxy-4-1 @call-handler#18] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-05-04 11:22:00.281 [DefaultDispatcher-worker-4 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44373/api/school/xapi/statements 2026-05-04 11:22:00.283 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44373/api/school/xapi/statements 2026-05-04 11:22:00.283 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44373/api/school/xapi/statements 2026-05-04 11:22:00.286 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44373/api/school/xapi/statements. 2026-05-04 11:22:02.333 [Test worker @coroutine#24] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:22:02.334 [Test worker @coroutine#24] INFO io.ktor.server.Application - Application started in 0.012 seconds. 2026-05-04 11:22:02.337 [DefaultDispatcher-worker-6 @coroutine#33] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35559 2026-05-04 11:22:02.351 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35559/api/school/xapi/statements 2026-05-04 11:22:02.351 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35559/api/school/xapi/statements. 2026-05-04 11:22:02.351 [Test worker @coroutine#24] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35559/api/school/xapi/statements 2026-05-04 11:22:02.356 [eventLoopGroupProxy-7-1 @call-handler#39] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-05-04 11:22:02.365 [Test worker @coroutine#24] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35559/api/school/xapi/statements 2026-05-04 11:22:02.366 [Test worker @coroutine#24] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35559/api/school/xapi/statements 2026-05-04 11:22:02.366 [Test worker @coroutine#24] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35559/api/school/xapi/statements 2026-05-04 11:22:02.370 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:35559/api/school/xapi/statements. 2026-05-04 11:25:21.562 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:21.798 [Test worker] INFO io.ktor.server.Application - Application started in 0.54 seconds. 2026-05-04 11:25:21.973 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37173 2026-05-04 11:25:24.131 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37173/resources/index.json 2026-05-04 11:25:24.134 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37173/resources/index.json. 2026-05-04 11:25:24.135 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37173/resources/index.json 2026-05-04 11:25:24.500 [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-05-04 11:25:24.676 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 196ms 2026-05-04 11:25:24.680 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37173/resources/index.json 2026-05-04 11:25:24.683 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37173/resources/index.json 2026-05-04 11:25:24.684 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37173/resources/index.json 2026-05-04 11:25:24.727 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:37173/resources/index.json. 2026-05-04 11:25:24.854 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37173/resources/index.json 2026-05-04 11:25:24.855 [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:37173/resources/index.json. 2026-05-04 11:25:24.855 [DefaultDispatcher-worker-1 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37173/resources/index.json 2026-05-04 11:25:24.862 [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-05-04 11:25:24.865 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 3ms 2026-05-04 11:25:24.868 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37173/resources/index.json 2026-05-04 11:25:24.869 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37173/resources/index.json 2026-05-04 11:25:24.869 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37173/resources/index.json 2026-05-04 11:25:26.925 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:26.927 [Test worker] INFO io.ktor.server.Application - Application started in 0.003 seconds. 2026-05-04 11:25:26.933 [DefaultDispatcher-worker-2 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36379 2026-05-04 11:25:26.971 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36379/resources/index.json 2026-05-04 11:25:26.971 [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:36379/resources/index.json. 2026-05-04 11:25:26.971 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36379/resources/index.json 2026-05-04 11:25:26.981 [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-05-04 11:25:26.984 [DefaultDispatcher-worker-2 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 3ms 2026-05-04 11:25:26.987 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36379/resources/index.json 2026-05-04 11:25:26.987 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36379/resources/index.json 2026-05-04 11:25:26.987 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36379/resources/index.json 2026-05-04 11:25:26.989 [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:36379/resources/index.json. 2026-05-04 11:25:27.008 [DefaultDispatcher-worker-7 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36379/resources/index.json 2026-05-04 11:25:27.008 [DefaultDispatcher-worker-7 @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:36379/resources/index.json. 2026-05-04 11:25:27.008 [DefaultDispatcher-worker-7 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36379/resources/index.json 2026-05-04 11:25:27.012 [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-05-04 11:25:27.014 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms 2026-05-04 11:25:27.015 [DefaultDispatcher-worker-7 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36379/resources/index.json 2026-05-04 11:25:27.017 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36379/resources/index.json 2026-05-04 11:25:27.018 [DefaultDispatcher-worker-4 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36379/resources/index.json 2026-05-04 11:25:29.036 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:29.037 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-05-04 11:25:29.040 [DefaultDispatcher-worker-4 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43129 2026-05-04 11:25:29.052 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43129/resources/lesson001.json 2026-05-04 11:25:29.052 [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:43129/resources/lesson001.json. 2026-05-04 11:25:29.052 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43129/resources/lesson001.json 2026-05-04 11:25:29.061 [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-05-04 11:25:29.064 [DefaultDispatcher-worker-4 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 3ms 2026-05-04 11:25:29.067 [DefaultDispatcher-worker-4 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43129/resources/lesson001.json 2026-05-04 11:25:29.068 [DefaultDispatcher-worker-7 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43129/resources/lesson001.json 2026-05-04 11:25:29.068 [DefaultDispatcher-worker-7 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43129/resources/lesson001.json 2026-05-04 11:25:29.080 [DefaultDispatcher-worker-7 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:43129/resources/lesson001.json. 2026-05-04 11:25:31.373 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:31.386 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.141 seconds. 2026-05-04 11:25:31.390 [DefaultDispatcher-worker-7 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35159 2026-05-04 11:25:31.404 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35159/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:31.404 [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:35159/api/school/respect/schoolpermissiongrant. 2026-05-04 11:25:31.404 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35159/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:31.412 [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-05-04 11:25:31.435 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35159/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:31.436 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35159/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:31.436 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35159/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:31.439 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35159/api/school/respect/schoolpermissiongrant. 2026-05-04 11:25:31.489 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.490 [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:35159/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:31.490 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.493 [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-05-04 11:25:31.527 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.527 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.527 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.529 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35159/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:31.540 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.541 [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:35159/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:31.541 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.544 [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-05-04 11:25:31.548 [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-05-04 11:25:31.549 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.550 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:31.550 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35159/api/school/respect/person?includeRelated=false 2026-05-04 11:25:33.588 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:33.589 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.008 seconds. 2026-05-04 11:25:33.591 [DefaultDispatcher-worker-2 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39349 2026-05-04 11:25:33.593 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39349/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:33.593 [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:39349/api/school/respect/schoolpermissiongrant. 2026-05-04 11:25:33.593 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39349/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:33.598 [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-05-04 11:25:33.601 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39349/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:33.601 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39349/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:33.601 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39349/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:33.602 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39349/api/school/respect/schoolpermissiongrant. 2026-05-04 11:25:33.619 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39349/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 11:25:33.619 [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:39349/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 11:25:33.619 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39349/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 11:25:33.621 [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-05-04 11:25:33.625 [DefaultDispatcher-worker-4 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39349/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 11:25:33.625 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39349/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 11:25:33.625 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39349/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 11:25:33.626 [DefaultDispatcher-worker-4 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39349/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 11:25:35.668 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:35.669 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.009 seconds. 2026-05-04 11:25:35.671 [DefaultDispatcher-worker-7 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45409 2026-05-04 11:25:35.675 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45409/api/school/respect/person?includeRelated=false 2026-05-04 11:25:35.675 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45409/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:35.675 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45409/api/school/respect/person?includeRelated=false 2026-05-04 11:25:35.679 [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-05-04 11:25:35.687 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45409/api/school/respect/person?includeRelated=false 2026-05-04 11:25:35.687 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45409/api/school/respect/person?includeRelated=false 2026-05-04 11:25:35.687 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45409/api/school/respect/person?includeRelated=false 2026-05-04 11:25:35.689 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45409/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:35.720 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45409/api/school/respect/person?since=2026-05-04T07%3A25%3A35.681155876Z&includeRelated=false 2026-05-04 11:25:35.720 [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:45409/api/school/respect/person?since=2026-05-04T07%3A25%3A35.681155876Z&includeRelated=false. 2026-05-04 11:25:35.720 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45409/api/school/respect/person?since=2026-05-04T07%3A25%3A35.681155876Z&includeRelated=false 2026-05-04 11:25:35.723 [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-05-04 11:25:35.727 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45409/api/school/respect/person?since=2026-05-04T07%3A25%3A35.681155876Z&includeRelated=false 2026-05-04 11:25:35.728 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45409/api/school/respect/person?since=2026-05-04T07%3A25%3A35.681155876Z&includeRelated=false 2026-05-04 11:25:35.728 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45409/api/school/respect/person?since=2026-05-04T07%3A25%3A35.681155876Z&includeRelated=false 2026-05-04 11:25:35.730 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45409/api/school/respect/person?since=2026-05-04T07%3A25%3A35.681155876Z&includeRelated=false. 2026-05-04 11:25:37.770 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:37.771 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.01 seconds. 2026-05-04 11:25:37.774 [DefaultDispatcher-worker-2 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41099 2026-05-04 11:25:37.793 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41099/api/school/respect/person 2026-05-04 11:25:37.793 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@5da9134 for http://localhost:41099/api/school/respect/person 2026-05-04 11:25:37.793 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41099/api/school/respect/person 2026-05-04 11:25:37.794 [DefaultDispatcher-worker-2 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:41099/api/school/respect/person from class io.ktor.http.content.TextContent 2026-05-04 11:25:37.799 [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-05-04 11:25:37.806 [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-05-04 11:25:37.808 [DefaultDispatcher-worker-2 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 11:25:37.810 [DefaultDispatcher-worker-6 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41099/api/school/respect/person 2026-05-04 11:25:37.811 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41099/api/school/respect/person 2026-05-04 11:25:37.811 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41099/api/school/respect/person 2026-05-04 11:25:39.842 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:39.843 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.009 seconds. 2026-05-04 11:25:39.845 [DefaultDispatcher-worker-1 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44661 2026-05-04 11:25:39.846 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44661/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:39.846 [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:44661/api/school/respect/schoolpermissiongrant. 2026-05-04 11:25:39.846 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44661/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:39.850 [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-05-04 11:25:39.853 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44661/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:39.853 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44661/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:39.853 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44661/api/school/respect/schoolpermissiongrant 2026-05-04 11:25:39.854 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44661/api/school/respect/schoolpermissiongrant. 2026-05-04 11:25:39.866 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:39.866 [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:44661/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:39.866 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:39.868 [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-05-04 11:25:39.876 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:39.876 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:39.876 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:39.878 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44661/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:41.884 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:41.884 [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:44661/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:41.884 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:41.886 [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-05-04 11:25:41.890 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:41.890 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:41.890 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44661/api/school/respect/person?includeRelated=false 2026-05-04 11:25:41.891 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44661/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:43.946 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:43.946 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.008 seconds. 2026-05-04 11:25:43.948 [DefaultDispatcher-worker-1 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38695 2026-05-04 11:25:43.951 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38695/api/school/respect/person?includeRelated=false 2026-05-04 11:25:43.951 [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:38695/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:43.951 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38695/api/school/respect/person?includeRelated=false 2026-05-04 11:25:43.955 [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-05-04 11:25:43.959 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38695/api/school/respect/person?includeRelated=false 2026-05-04 11:25:43.960 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38695/api/school/respect/person?includeRelated=false 2026-05-04 11:25:43.960 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38695/api/school/respect/person?includeRelated=false 2026-05-04 11:25:43.960 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38695/api/school/respect/person?includeRelated=false. 2026-05-04 11:25:43.972 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38695/api/school/respect/person?since=2026-05-04T07%3A25%3A43.955990292Z&includeRelated=false 2026-05-04 11:25:43.973 [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:38695/api/school/respect/person?since=2026-05-04T07%3A25%3A43.955990292Z&includeRelated=false. 2026-05-04 11:25:43.973 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38695/api/school/respect/person?since=2026-05-04T07%3A25%3A43.955990292Z&includeRelated=false 2026-05-04 11:25:43.975 [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-05-04 11:25:43.979 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38695/api/school/respect/person?since=2026-05-04T07%3A25%3A43.955990292Z&includeRelated=false 2026-05-04 11:25:43.979 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38695/api/school/respect/person?since=2026-05-04T07%3A25%3A43.955990292Z&includeRelated=false 2026-05-04 11:25:43.979 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38695/api/school/respect/person?since=2026-05-04T07%3A25%3A43.955990292Z&includeRelated=false 2026-05-04 11:25:43.980 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38695/api/school/respect/person?since=2026-05-04T07%3A25%3A43.955990292Z&includeRelated=false. 2026-05-04 11:25:46.017 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:46.018 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.01 seconds. 2026-05-04 11:25:46.020 [DefaultDispatcher-worker-1 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35881 2026-05-04 11:25:46.023 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35881/playlist/0608d4ca-5c65-4ba5-b909-ebf8097d5cc8 2026-05-04 11:25:46.023 [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:35881/playlist/0608d4ca-5c65-4ba5-b909-ebf8097d5cc8. 2026-05-04 11:25:46.023 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35881/playlist/0608d4ca-5c65-4ba5-b909-ebf8097d5cc8 2026-05-04 11:25:46.027 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 0608d4ca-5c65-4ba5-b909-ebf8097d5cc8] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[0608d4ca-5c65-4ba5-b909-ebf8097d5cc8]] @ /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=[0608d4ca-5c65-4ba5-b909-ebf8097d5cc8]] @ /playlist/{uuid}/(method:GET) 2026-05-04 11:25:46.035 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35881/playlist/0608d4ca-5c65-4ba5-b909-ebf8097d5cc8 2026-05-04 11:25:46.035 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35881/playlist/0608d4ca-5c65-4ba5-b909-ebf8097d5cc8 2026-05-04 11:25:46.035 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35881/playlist/0608d4ca-5c65-4ba5-b909-ebf8097d5cc8 2026-05-04 11:25:46.036 [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:35881/playlist/0608d4ca-5c65-4ba5-b909-ebf8097d5cc8. 2026-05-04 11:25:48.088 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:48.089 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.011 seconds. 2026-05-04 11:25:48.091 [DefaultDispatcher-worker-10 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44471 2026-05-04 11:25:48.108 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44471/playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 2026-05-04 11:25:48.108 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@5e73996 for http://localhost:44471/playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 2026-05-04 11:25:48.108 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44471/playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 2026-05-04 11:25:48.109 [DefaultDispatcher-worker-7 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44471/playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 from class io.ktor.http.content.TextContent 2026-05-04 11:25:48.112 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, a998c9ba-5bbe-4039-a1dd-7cf51308cf33] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[a998c9ba-5bbe-4039-a1dd-7cf51308cf33]] @ /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=[a998c9ba-5bbe-4039-a1dd-7cf51308cf33]] @ /playlist/{uuid}/(method:POST) 2026-05-04 11:25:48.113 [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/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 2026-05-04 11:25:48.114 [DefaultDispatcher-worker-7 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 11:25:48.115 [DefaultDispatcher-worker-8 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44471/playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 2026-05-04 11:25:48.116 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44471/playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 2026-05-04 11:25:48.116 [DefaultDispatcher-worker-8 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44471/playlist/a998c9ba-5bbe-4039-a1dd-7cf51308cf33 2026-05-04 11:25:50.151 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:50.153 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.009 seconds. 2026-05-04 11:25:50.155 [DefaultDispatcher-worker-7 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39689 2026-05-04 11:25:50.209 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39689/api/school/xapi/statements 2026-05-04 11:25:50.210 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@79165b1e for http://localhost:39689/api/school/xapi/statements 2026-05-04 11:25:50.211 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39689/api/school/xapi/statements 2026-05-04 11:25:50.211 [DefaultDispatcher-worker-4 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39689/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-05-04 11:25:50.217 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-05-04 11:25:50.217 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-05-04 11:25:50.241 [DefaultDispatcher-worker-6 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39689/api/school/xapi/statements 2026-05-04 11:25:50.242 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39689/api/school/xapi/statements 2026-05-04 11:25:50.242 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39689/api/school/xapi/statements 2026-05-04 11:25:50.243 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39689/api/school/xapi/statements. 2026-05-04 11:25:52.263 [Test worker @coroutine#294] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 11:25:52.264 [Test worker @coroutine#294] INFO io.ktor.server.Application - Application started in 0.012 seconds. 2026-05-04 11:25:52.265 [DefaultDispatcher-worker-4 @coroutine#303] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40521 2026-05-04 11:25:52.274 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40521/api/school/xapi/statements 2026-05-04 11:25:52.274 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40521/api/school/xapi/statements. 2026-05-04 11:25:52.274 [Test worker @coroutine#294] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40521/api/school/xapi/statements 2026-05-04 11:25:52.278 [eventLoopGroupProxy-40-1 @call-handler#309] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-05-04 11:25:52.287 [Test worker @coroutine#294] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40521/api/school/xapi/statements 2026-05-04 11:25:52.287 [Test worker @coroutine#294] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40521/api/school/xapi/statements 2026-05-04 11:25:52.287 [Test worker @coroutine#294] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40521/api/school/xapi/statements 2026-05-04 11:25:52.288 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:40521/api/school/xapi/statements. 2026-05-04 12:15:25.203 [Test worker @coroutine#1] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:15:25.234 [Test worker @coroutine#1] INFO io.ktor.server.Application - Application started in 0.761 seconds. 2026-05-04 12:15:25.315 [DefaultDispatcher-worker-3 @coroutine#10] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39385 2026-05-04 12:15:25.432 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39385/api/school/xapi/statements 2026-05-04 12:15:25.440 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@60fd42cf for http://localhost:39385/api/school/xapi/statements 2026-05-04 12:15:25.440 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39385/api/school/xapi/statements 2026-05-04 12:15:25.440 [DefaultDispatcher-worker-4 @coroutine#8] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39385/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-05-04 12:15:25.596 [eventLoopGroupProxy-4-1 @call-handler#18] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-05-04 12:15:25.609 [eventLoopGroupProxy-4-1 @call-handler#18] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-05-04 12:15:25.660 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39385/api/school/xapi/statements 2026-05-04 12:15:25.662 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39385/api/school/xapi/statements 2026-05-04 12:15:25.662 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39385/api/school/xapi/statements 2026-05-04 12:15:25.666 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39385/api/school/xapi/statements. 2026-05-04 12:15:27.690 [Test worker @coroutine#24] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:15:27.691 [Test worker @coroutine#24] INFO io.ktor.server.Application - Application started in 0.013 seconds. 2026-05-04 12:15:27.693 [DefaultDispatcher-worker-5 @coroutine#33] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39483 2026-05-04 12:15:27.709 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39483/api/school/xapi/statements 2026-05-04 12:15:27.709 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39483/api/school/xapi/statements. 2026-05-04 12:15:27.709 [Test worker @coroutine#24] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39483/api/school/xapi/statements 2026-05-04 12:15:27.714 [eventLoopGroupProxy-7-1 @call-handler#39] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-05-04 12:15:27.725 [Test worker @coroutine#24] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39483/api/school/xapi/statements 2026-05-04 12:15:27.725 [Test worker @coroutine#24] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39483/api/school/xapi/statements 2026-05-04 12:15:27.725 [Test worker @coroutine#24] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39483/api/school/xapi/statements 2026-05-04 12:15:27.730 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:39483/api/school/xapi/statements. 2026-05-04 12:16:38.433 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:38.580 [Test worker] INFO io.ktor.server.Application - Application started in 0.333 seconds. 2026-05-04 12:16:38.709 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34665 2026-05-04 12:16:39.725 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34665/resources/index.json 2026-05-04 12:16:39.726 [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:34665/resources/index.json. 2026-05-04 12:16:39.726 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34665/resources/index.json 2026-05-04 12:16:40.040 [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-05-04 12:16:40.174 [eventLoopGroupProxy-4-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 143ms 2026-05-04 12:16:40.196 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34665/resources/index.json 2026-05-04 12:16:40.208 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34665/resources/index.json 2026-05-04 12:16:40.212 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34665/resources/index.json 2026-05-04 12:16:40.300 [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:34665/resources/index.json. 2026-05-04 12:16:40.430 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34665/resources/index.json 2026-05-04 12:16:40.430 [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:34665/resources/index.json. 2026-05-04 12:16:40.430 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34665/resources/index.json 2026-05-04 12:16:40.443 [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-05-04 12:16:40.449 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 7ms 2026-05-04 12:16:40.453 [DefaultDispatcher-worker-3 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34665/resources/index.json 2026-05-04 12:16:40.455 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34665/resources/index.json 2026-05-04 12:16:40.456 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34665/resources/index.json 2026-05-04 12:16:42.499 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:42.501 [Test worker] INFO io.ktor.server.Application - Application started in 0.003 seconds. 2026-05-04 12:16:42.507 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46475 2026-05-04 12:16:42.532 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46475/resources/index.json 2026-05-04 12:16:42.533 [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:46475/resources/index.json. 2026-05-04 12:16:42.533 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46475/resources/index.json 2026-05-04 12:16:42.543 [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-05-04 12:16:42.547 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 5ms 2026-05-04 12:16:42.549 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46475/resources/index.json 2026-05-04 12:16:42.550 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46475/resources/index.json 2026-05-04 12:16:42.550 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46475/resources/index.json 2026-05-04 12:16:42.551 [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:46475/resources/index.json. 2026-05-04 12:16:42.565 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46475/resources/index.json 2026-05-04 12:16:42.565 [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:46475/resources/index.json. 2026-05-04 12:16:42.566 [DefaultDispatcher-worker-1 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46475/resources/index.json 2026-05-04 12:16:42.568 [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-05-04 12:16:42.569 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-05-04 12:16:42.571 [DefaultDispatcher-worker-5 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46475/resources/index.json 2026-05-04 12:16:42.572 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46475/resources/index.json 2026-05-04 12:16:42.572 [DefaultDispatcher-worker-5 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46475/resources/index.json 2026-05-04 12:16:44.590 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:44.591 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-05-04 12:16:44.593 [DefaultDispatcher-worker-5 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39393 2026-05-04 12:16:44.605 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39393/resources/lesson001.json 2026-05-04 12:16:44.605 [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:39393/resources/lesson001.json. 2026-05-04 12:16:44.605 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39393/resources/lesson001.json 2026-05-04 12:16:44.613 [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-05-04 12:16:44.617 [DefaultDispatcher-worker-1 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 4ms 2026-05-04 12:16:44.619 [DefaultDispatcher-worker-1 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39393/resources/lesson001.json 2026-05-04 12:16:44.620 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39393/resources/lesson001.json 2026-05-04 12:16:44.620 [DefaultDispatcher-worker-1 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39393/resources/lesson001.json 2026-05-04 12:16:44.624 [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:39393/resources/lesson001.json. 2026-05-04 12:16:47.027 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:47.073 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.284 seconds. 2026-05-04 12:16:47.080 [DefaultDispatcher-worker-1 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35727 2026-05-04 12:16:47.107 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35727/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:47.107 [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:35727/api/school/respect/schoolpermissiongrant. 2026-05-04 12:16:47.107 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35727/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:47.123 [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-05-04 12:16:47.170 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35727/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:47.170 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35727/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:47.170 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35727/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:47.179 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35727/api/school/respect/schoolpermissiongrant. 2026-05-04 12:16:47.288 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.289 [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:35727/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:47.289 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.295 [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-05-04 12:16:47.350 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.350 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.350 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.355 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35727/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:47.376 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.377 [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:35727/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:47.377 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.382 [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-05-04 12:16:47.387 [DefaultDispatcher-worker-5 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 12:16:47.389 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.390 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:47.390 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35727/api/school/respect/person?includeRelated=false 2026-05-04 12:16:49.431 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:49.432 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.01 seconds. 2026-05-04 12:16:49.434 [DefaultDispatcher-worker-1 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38611 2026-05-04 12:16:49.436 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38611/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:49.436 [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:38611/api/school/respect/schoolpermissiongrant. 2026-05-04 12:16:49.436 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38611/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:49.440 [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-05-04 12:16:49.443 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38611/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:49.443 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38611/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:49.443 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38611/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:49.444 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38611/api/school/respect/schoolpermissiongrant. 2026-05-04 12:16:49.468 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38611/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 12:16:49.468 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38611/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 12:16:49.468 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38611/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 12:16:49.471 [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-05-04 12:16:49.477 [DefaultDispatcher-worker-5 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38611/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 12:16:49.478 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38611/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 12:16:49.478 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38611/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 12:16:49.479 [DefaultDispatcher-worker-5 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38611/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 12:16:51.515 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:51.516 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.007 seconds. 2026-05-04 12:16:51.517 [DefaultDispatcher-worker-6 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38953 2026-05-04 12:16:51.521 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38953/api/school/respect/person?includeRelated=false 2026-05-04 12:16:51.521 [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:38953/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:51.521 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38953/api/school/respect/person?includeRelated=false 2026-05-04 12:16:51.524 [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-05-04 12:16:51.529 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38953/api/school/respect/person?includeRelated=false 2026-05-04 12:16:51.529 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38953/api/school/respect/person?includeRelated=false 2026-05-04 12:16:51.529 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38953/api/school/respect/person?includeRelated=false 2026-05-04 12:16:51.530 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38953/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:51.549 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38953/api/school/respect/person?since=2026-05-04T08%3A16%3A51.525248505Z&includeRelated=false 2026-05-04 12:16:51.550 [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:38953/api/school/respect/person?since=2026-05-04T08%3A16%3A51.525248505Z&includeRelated=false. 2026-05-04 12:16:51.550 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38953/api/school/respect/person?since=2026-05-04T08%3A16%3A51.525248505Z&includeRelated=false 2026-05-04 12:16:51.552 [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-05-04 12:16:51.555 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38953/api/school/respect/person?since=2026-05-04T08%3A16%3A51.525248505Z&includeRelated=false 2026-05-04 12:16:51.555 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38953/api/school/respect/person?since=2026-05-04T08%3A16%3A51.525248505Z&includeRelated=false 2026-05-04 12:16:51.555 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38953/api/school/respect/person?since=2026-05-04T08%3A16%3A51.525248505Z&includeRelated=false 2026-05-04 12:16:51.556 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:38953/api/school/respect/person?since=2026-05-04T08%3A16%3A51.525248505Z&includeRelated=false. 2026-05-04 12:16:53.599 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:53.600 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.009 seconds. 2026-05-04 12:16:53.602 [DefaultDispatcher-worker-6 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:32935 2026-05-04 12:16:53.615 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:32935/api/school/respect/person 2026-05-04 12:16:53.616 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6302a640 for http://localhost:32935/api/school/respect/person 2026-05-04 12:16:53.616 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:32935/api/school/respect/person 2026-05-04 12:16:53.616 [DefaultDispatcher-worker-5 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:32935/api/school/respect/person from class io.ktor.http.content.TextContent 2026-05-04 12:16:53.623 [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-05-04 12:16:53.632 [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-05-04 12:16:53.635 [DefaultDispatcher-worker-5 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 12:16:53.640 [DefaultDispatcher-worker-3 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:32935/api/school/respect/person 2026-05-04 12:16:53.641 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:32935/api/school/respect/person 2026-05-04 12:16:53.641 [DefaultDispatcher-worker-3 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:32935/api/school/respect/person 2026-05-04 12:16:55.663 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:55.664 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.006 seconds. 2026-05-04 12:16:55.666 [DefaultDispatcher-worker-2 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43059 2026-05-04 12:16:55.667 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43059/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:55.667 [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:43059/api/school/respect/schoolpermissiongrant. 2026-05-04 12:16:55.667 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43059/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:55.670 [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-05-04 12:16:55.673 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43059/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:55.673 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43059/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:55.673 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43059/api/school/respect/schoolpermissiongrant 2026-05-04 12:16:55.674 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43059/api/school/respect/schoolpermissiongrant. 2026-05-04 12:16:55.689 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:55.689 [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:43059/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:55.689 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:55.691 [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-05-04 12:16:55.697 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:55.698 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:55.698 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:55.699 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43059/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:57.705 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:57.706 [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:43059/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:57.706 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:57.708 [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-05-04 12:16:57.714 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:57.714 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:57.714 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43059/api/school/respect/person?includeRelated=false 2026-05-04 12:16:57.715 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43059/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:59.747 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:16:59.748 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.007 seconds. 2026-05-04 12:16:59.749 [DefaultDispatcher-worker-2 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42027 2026-05-04 12:16:59.752 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42027/api/school/respect/person?includeRelated=false 2026-05-04 12:16:59.753 [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:42027/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:59.753 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42027/api/school/respect/person?includeRelated=false 2026-05-04 12:16:59.756 [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-05-04 12:16:59.762 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42027/api/school/respect/person?includeRelated=false 2026-05-04 12:16:59.762 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42027/api/school/respect/person?includeRelated=false 2026-05-04 12:16:59.762 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42027/api/school/respect/person?includeRelated=false 2026-05-04 12:16:59.763 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42027/api/school/respect/person?includeRelated=false. 2026-05-04 12:16:59.775 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42027/api/school/respect/person?since=2026-05-04T08%3A16%3A59.757255584Z&includeRelated=false 2026-05-04 12:16:59.775 [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:42027/api/school/respect/person?since=2026-05-04T08%3A16%3A59.757255584Z&includeRelated=false. 2026-05-04 12:16:59.775 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42027/api/school/respect/person?since=2026-05-04T08%3A16%3A59.757255584Z&includeRelated=false 2026-05-04 12:16:59.777 [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-05-04 12:16:59.780 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42027/api/school/respect/person?since=2026-05-04T08%3A16%3A59.757255584Z&includeRelated=false 2026-05-04 12:16:59.781 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42027/api/school/respect/person?since=2026-05-04T08%3A16%3A59.757255584Z&includeRelated=false 2026-05-04 12:16:59.781 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42027/api/school/respect/person?since=2026-05-04T08%3A16%3A59.757255584Z&includeRelated=false 2026-05-04 12:16:59.782 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42027/api/school/respect/person?since=2026-05-04T08%3A16%3A59.757255584Z&includeRelated=false. 2026-05-04 12:17:01.823 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:17:01.825 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.013 seconds. 2026-05-04 12:17:01.828 [DefaultDispatcher-worker-1 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37411 2026-05-04 12:17:01.831 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37411/playlist/b2178c7e-5a4e-4294-9a95-e9194085d55f 2026-05-04 12:17:01.832 [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:37411/playlist/b2178c7e-5a4e-4294-9a95-e9194085d55f. 2026-05-04 12:17:01.832 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37411/playlist/b2178c7e-5a4e-4294-9a95-e9194085d55f 2026-05-04 12:17:01.837 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, b2178c7e-5a4e-4294-9a95-e9194085d55f] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[b2178c7e-5a4e-4294-9a95-e9194085d55f]] @ /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=[b2178c7e-5a4e-4294-9a95-e9194085d55f]] @ /playlist/{uuid}/(method:GET) 2026-05-04 12:17:01.844 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37411/playlist/b2178c7e-5a4e-4294-9a95-e9194085d55f 2026-05-04 12:17:01.844 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37411/playlist/b2178c7e-5a4e-4294-9a95-e9194085d55f 2026-05-04 12:17:01.844 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37411/playlist/b2178c7e-5a4e-4294-9a95-e9194085d55f 2026-05-04 12:17:01.845 [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:37411/playlist/b2178c7e-5a4e-4294-9a95-e9194085d55f. 2026-05-04 12:17:03.896 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:17:03.898 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.013 seconds. 2026-05-04 12:17:03.901 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34925 2026-05-04 12:17:03.913 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34925/playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb 2026-05-04 12:17:03.913 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@577880e6 for http://localhost:34925/playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb 2026-05-04 12:17:03.913 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34925/playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb 2026-05-04 12:17:03.913 [DefaultDispatcher-worker-1 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:34925/playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb from class io.ktor.http.content.TextContent 2026-05-04 12:17:03.918 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 24eb132e-571e-49dd-ba21-4804ee78fdeb] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[24eb132e-571e-49dd-ba21-4804ee78fdeb]] @ /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=[24eb132e-571e-49dd-ba21-4804ee78fdeb]] @ /playlist/{uuid}/(method:POST) 2026-05-04 12:17:03.918 [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/24eb132e-571e-49dd-ba21-4804ee78fdeb 2026-05-04 12:17:03.920 [DefaultDispatcher-worker-6 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 12:17:03.921 [DefaultDispatcher-worker-3 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34925/playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb 2026-05-04 12:17:03.922 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34925/playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb 2026-05-04 12:17:03.922 [DefaultDispatcher-worker-3 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34925/playlist/24eb132e-571e-49dd-ba21-4804ee78fdeb 2026-05-04 12:17:05.959 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:17:05.961 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.013 seconds. 2026-05-04 12:17:05.962 [DefaultDispatcher-worker-3 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39073 2026-05-04 12:17:06.011 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39073/api/school/xapi/statements 2026-05-04 12:17:06.012 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@3a8047c5 for http://localhost:39073/api/school/xapi/statements 2026-05-04 12:17:06.013 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39073/api/school/xapi/statements 2026-05-04 12:17:06.013 [DefaultDispatcher-worker-6 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:39073/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-05-04 12:17:06.018 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-05-04 12:17:06.018 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-05-04 12:17:06.042 [DefaultDispatcher-worker-5 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39073/api/school/xapi/statements 2026-05-04 12:17:06.042 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39073/api/school/xapi/statements 2026-05-04 12:17:06.042 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39073/api/school/xapi/statements 2026-05-04 12:17:06.043 [DefaultDispatcher-worker-5 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:39073/api/school/xapi/statements. 2026-05-04 12:17:08.070 [Test worker @coroutine#294] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 12:17:08.072 [Test worker @coroutine#294] INFO io.ktor.server.Application - Application started in 0.013 seconds. 2026-05-04 12:17:08.075 [DefaultDispatcher-worker-6 @coroutine#303] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39333 2026-05-04 12:17:08.094 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39333/api/school/xapi/statements 2026-05-04 12:17:08.095 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39333/api/school/xapi/statements. 2026-05-04 12:17:08.095 [Test worker @coroutine#294] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39333/api/school/xapi/statements 2026-05-04 12:17:08.100 [eventLoopGroupProxy-40-1 @call-handler#309] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-05-04 12:17:08.106 [Test worker @coroutine#294] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39333/api/school/xapi/statements 2026-05-04 12:17:08.106 [Test worker @coroutine#294] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39333/api/school/xapi/statements 2026-05-04 12:17:08.106 [Test worker @coroutine#294] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39333/api/school/xapi/statements 2026-05-04 12:17:08.108 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:39333/api/school/xapi/statements. 2026-05-04 23:03:53.873 [Test worker @coroutine#1] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:03:53.913 [Test worker @coroutine#1] INFO io.ktor.server.Application - Application started in 1.028 seconds. 2026-05-04 23:03:54.020 [DefaultDispatcher-worker-1 @coroutine#10] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44649 2026-05-04 23:03:54.166 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44649/api/school/xapi/statements 2026-05-04 23:03:54.174 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@72d7fcf4 for http://localhost:44649/api/school/xapi/statements 2026-05-04 23:03:54.174 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44649/api/school/xapi/statements 2026-05-04 23:03:54.174 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44649/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-05-04 23:03:54.327 [eventLoopGroupProxy-4-1 @call-handler#18] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-05-04 23:03:54.341 [eventLoopGroupProxy-4-1 @call-handler#18] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-05-04 23:03:54.409 [DefaultDispatcher-worker-5 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44649/api/school/xapi/statements 2026-05-04 23:03:54.411 [DefaultDispatcher-worker-5 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44649/api/school/xapi/statements 2026-05-04 23:03:54.411 [DefaultDispatcher-worker-5 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44649/api/school/xapi/statements 2026-05-04 23:03:54.414 [DefaultDispatcher-worker-5 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44649/api/school/xapi/statements. 2026-05-04 23:03:56.438 [Test worker @coroutine#24] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:03:56.439 [Test worker @coroutine#24] INFO io.ktor.server.Application - Application started in 0.007 seconds. 2026-05-04 23:03:56.440 [DefaultDispatcher-worker-3 @coroutine#33] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40413 2026-05-04 23:03:56.455 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40413/api/school/xapi/statements 2026-05-04 23:03:56.456 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40413/api/school/xapi/statements. 2026-05-04 23:03:56.456 [Test worker @coroutine#24] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40413/api/school/xapi/statements 2026-05-04 23:03:56.461 [eventLoopGroupProxy-7-1 @call-handler#39] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-05-04 23:03:56.470 [Test worker @coroutine#24] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40413/api/school/xapi/statements 2026-05-04 23:03:56.471 [Test worker @coroutine#24] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40413/api/school/xapi/statements 2026-05-04 23:03:56.471 [Test worker @coroutine#24] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40413/api/school/xapi/statements 2026-05-04 23:03:56.476 [Test worker @coroutine#24] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:40413/api/school/xapi/statements. 2026-05-04 23:39:31.004 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:31.160 [Test worker] INFO io.ktor.server.Application - Application started in 0.394 seconds. 2026-05-04 23:39:31.292 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35609 2026-05-04 23:39:32.318 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35609/resources/index.json 2026-05-04 23:39:32.319 [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:35609/resources/index.json. 2026-05-04 23:39:32.320 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35609/resources/index.json 2026-05-04 23:39:32.612 [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-05-04 23:39:32.688 [DefaultDispatcher-worker-3 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 83ms 2026-05-04 23:39:32.692 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35609/resources/index.json 2026-05-04 23:39:32.695 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35609/resources/index.json 2026-05-04 23:39:32.696 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35609/resources/index.json 2026-05-04 23:39:32.730 [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:35609/resources/index.json. 2026-05-04 23:39:32.780 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35609/resources/index.json 2026-05-04 23:39:32.781 [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:35609/resources/index.json. 2026-05-04 23:39:32.781 [DefaultDispatcher-worker-2 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35609/resources/index.json 2026-05-04 23:39:32.786 [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-05-04 23:39:32.789 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 3ms 2026-05-04 23:39:32.791 [DefaultDispatcher-worker-2 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35609/resources/index.json 2026-05-04 23:39:32.791 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35609/resources/index.json 2026-05-04 23:39:32.792 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35609/resources/index.json 2026-05-04 23:39:34.834 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:34.835 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-05-04 23:39:34.842 [DefaultDispatcher-worker-4 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42491 2026-05-04 23:39:34.878 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42491/resources/index.json 2026-05-04 23:39:34.878 [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:42491/resources/index.json. 2026-05-04 23:39:34.878 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42491/resources/index.json 2026-05-04 23:39:34.887 [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-05-04 23:39:34.889 [DefaultDispatcher-worker-7 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-05-04 23:39:34.903 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42491/resources/index.json 2026-05-04 23:39:34.905 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42491/resources/index.json 2026-05-04 23:39:34.905 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42491/resources/index.json 2026-05-04 23:39:34.911 [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:42491/resources/index.json. 2026-05-04 23:39:34.942 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42491/resources/index.json 2026-05-04 23:39:34.943 [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:42491/resources/index.json. 2026-05-04 23:39:34.943 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42491/resources/index.json 2026-05-04 23:39:34.949 [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-05-04 23:39:34.957 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 8ms 2026-05-04 23:39:34.963 [DefaultDispatcher-worker-2 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42491/resources/index.json 2026-05-04 23:39:34.964 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42491/resources/index.json 2026-05-04 23:39:34.964 [DefaultDispatcher-worker-2 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42491/resources/index.json 2026-05-04 23:39:37.034 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:37.039 [Test worker] INFO io.ktor.server.Application - Application started in 0.006 seconds. 2026-05-04 23:39:37.044 [DefaultDispatcher-worker-2 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34501 2026-05-04 23:39:37.074 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34501/resources/lesson001.json 2026-05-04 23:39:37.074 [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:34501/resources/lesson001.json. 2026-05-04 23:39:37.074 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34501/resources/lesson001.json 2026-05-04 23:39:37.093 [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-05-04 23:39:37.097 [DefaultDispatcher-worker-2 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 6ms 2026-05-04 23:39:37.099 [DefaultDispatcher-worker-2 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34501/resources/lesson001.json 2026-05-04 23:39:37.106 [DefaultDispatcher-worker-8 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34501/resources/lesson001.json 2026-05-04 23:39:37.106 [DefaultDispatcher-worker-8 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34501/resources/lesson001.json 2026-05-04 23:39:37.116 [DefaultDispatcher-worker-8 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:34501/resources/lesson001.json. 2026-05-04 23:39:39.446 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:39.464 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.129 seconds. 2026-05-04 23:39:39.471 [DefaultDispatcher-worker-8 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36073 2026-05-04 23:39:39.487 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36073/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:39.488 [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:36073/api/school/respect/schoolpermissiongrant. 2026-05-04 23:39:39.488 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36073/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:39.504 [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-05-04 23:39:39.527 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36073/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:39.527 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36073/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:39.527 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36073/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:39.530 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36073/api/school/respect/schoolpermissiongrant. 2026-05-04 23:39:39.583 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.583 [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:36073/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:39.583 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.586 [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-05-04 23:39:39.620 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.621 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.621 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.623 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36073/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:39.633 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.633 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36073/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:39.633 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.636 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-05-04 23:39:39.640 [DefaultDispatcher-worker-9 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 23:39:39.642 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.642 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:39.642 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36073/api/school/respect/person?includeRelated=false 2026-05-04 23:39:41.693 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:41.694 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.009 seconds. 2026-05-04 23:39:41.697 [DefaultDispatcher-worker-9 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33393 2026-05-04 23:39:41.698 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33393/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:41.699 [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:33393/api/school/respect/schoolpermissiongrant. 2026-05-04 23:39:41.699 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33393/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:41.704 [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-05-04 23:39:41.708 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33393/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:41.708 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33393/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:41.708 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33393/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:41.709 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33393/api/school/respect/schoolpermissiongrant. 2026-05-04 23:39:41.744 [DefaultDispatcher-worker-8 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33393/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 23:39:41.744 [DefaultDispatcher-worker-8 @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:33393/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 23:39:41.744 [DefaultDispatcher-worker-8 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33393/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 23:39:41.747 [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-05-04 23:39:41.751 [DefaultDispatcher-worker-9 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33393/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 23:39:41.751 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33393/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 23:39:41.751 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33393/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-05-04 23:39:41.753 [DefaultDispatcher-worker-9 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:33393/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-05-04 23:39:43.834 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:43.837 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.026 seconds. 2026-05-04 23:39:43.848 [DefaultDispatcher-worker-8 @coroutine#131] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45193 2026-05-04 23:39:43.861 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45193/api/school/respect/person?includeRelated=false 2026-05-04 23:39:43.862 [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:45193/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:43.862 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45193/api/school/respect/person?includeRelated=false 2026-05-04 23:39:43.877 [eventLoopGroupProxy-19-1 @call-handler#136] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-05-04 23:39:43.890 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45193/api/school/respect/person?includeRelated=false 2026-05-04 23:39:43.891 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45193/api/school/respect/person?includeRelated=false 2026-05-04 23:39:43.891 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45193/api/school/respect/person?includeRelated=false 2026-05-04 23:39:43.898 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45193/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:43.960 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45193/api/school/respect/person?since=2026-05-04T19%3A39%3A43.879297933Z&includeRelated=false 2026-05-04 23:39:43.961 [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:45193/api/school/respect/person?since=2026-05-04T19%3A39%3A43.879297933Z&includeRelated=false. 2026-05-04 23:39:43.961 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:45193/api/school/respect/person?since=2026-05-04T19%3A39%3A43.879297933Z&includeRelated=false 2026-05-04 23:39:43.966 [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-05-04 23:39:43.975 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45193/api/school/respect/person?since=2026-05-04T19%3A39%3A43.879297933Z&includeRelated=false 2026-05-04 23:39:43.976 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45193/api/school/respect/person?since=2026-05-04T19%3A39%3A43.879297933Z&includeRelated=false 2026-05-04 23:39:43.976 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45193/api/school/respect/person?since=2026-05-04T19%3A39%3A43.879297933Z&includeRelated=false 2026-05-04 23:39:43.984 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:45193/api/school/respect/person?since=2026-05-04T19%3A39%3A43.879297933Z&includeRelated=false. 2026-05-04 23:39:46.133 [Test worker @coroutine#148] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:46.135 [Test worker @coroutine#148] INFO io.ktor.server.Application - Application started in 0.029 seconds. 2026-05-04 23:39:46.147 [DefaultDispatcher-worker-10 @coroutine#157] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41541 2026-05-04 23:39:46.193 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41541/api/school/respect/person 2026-05-04 23:39:46.193 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@c301f7f for http://localhost:41541/api/school/respect/person 2026-05-04 23:39:46.193 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41541/api/school/respect/person 2026-05-04 23:39:46.194 [DefaultDispatcher-worker-10 @coroutine#155] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:41541/api/school/respect/person from class io.ktor.http.content.TextContent 2026-05-04 23:39:46.203 [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-05-04 23:39:46.231 [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-05-04 23:39:46.238 [DefaultDispatcher-worker-5 @call-handler#167] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 23:39:46.248 [DefaultDispatcher-worker-9 @coroutine#155] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41541/api/school/respect/person 2026-05-04 23:39:46.249 [DefaultDispatcher-worker-9 @coroutine#155] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41541/api/school/respect/person 2026-05-04 23:39:46.249 [DefaultDispatcher-worker-9 @coroutine#155] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41541/api/school/respect/person 2026-05-04 23:39:48.345 [Test worker @coroutine#172] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:48.349 [Test worker @coroutine#172] INFO io.ktor.server.Application - Application started in 0.015 seconds. 2026-05-04 23:39:48.354 [DefaultDispatcher-worker-4 @coroutine#181] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42205 2026-05-04 23:39:48.357 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42205/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:48.357 [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:42205/api/school/respect/schoolpermissiongrant. 2026-05-04 23:39:48.357 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42205/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:48.364 [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-05-04 23:39:48.369 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42205/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:48.369 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42205/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:48.369 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42205/api/school/respect/schoolpermissiongrant 2026-05-04 23:39:48.370 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42205/api/school/respect/schoolpermissiongrant. 2026-05-04 23:39:48.386 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:48.387 [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:42205/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:48.387 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:48.390 [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-05-04 23:39:48.420 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:48.421 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:48.421 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:48.427 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42205/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:50.447 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:50.447 [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:42205/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:50.447 [Test worker @coroutine#172] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:50.450 [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-05-04 23:39:50.457 [Test worker @coroutine#172] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:50.457 [Test worker @coroutine#172] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:50.457 [Test worker @coroutine#172] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42205/api/school/respect/person?includeRelated=false 2026-05-04 23:39:50.459 [Test worker @coroutine#172] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42205/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:52.566 [Test worker @coroutine#204] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:52.572 [Test worker @coroutine#204] INFO io.ktor.server.Application - Application started in 0.02 seconds. 2026-05-04 23:39:52.577 [DefaultDispatcher-worker-9 @coroutine#213] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36379 2026-05-04 23:39:52.596 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36379/api/school/respect/person?includeRelated=false 2026-05-04 23:39:52.596 [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:36379/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:52.596 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36379/api/school/respect/person?includeRelated=false 2026-05-04 23:39:52.620 [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-05-04 23:39:52.628 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36379/api/school/respect/person?includeRelated=false 2026-05-04 23:39:52.629 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36379/api/school/respect/person?includeRelated=false 2026-05-04 23:39:52.629 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36379/api/school/respect/person?includeRelated=false 2026-05-04 23:39:52.631 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36379/api/school/respect/person?includeRelated=false. 2026-05-04 23:39:52.655 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36379/api/school/respect/person?since=2026-05-04T19%3A39%3A52.621045450Z&includeRelated=false 2026-05-04 23:39:52.655 [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:36379/api/school/respect/person?since=2026-05-04T19%3A39%3A52.621045450Z&includeRelated=false. 2026-05-04 23:39:52.656 [Test worker @coroutine#204] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36379/api/school/respect/person?since=2026-05-04T19%3A39%3A52.621045450Z&includeRelated=false 2026-05-04 23:39:52.658 [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-05-04 23:39:52.665 [Test worker @coroutine#204] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36379/api/school/respect/person?since=2026-05-04T19%3A39%3A52.621045450Z&includeRelated=false 2026-05-04 23:39:52.666 [Test worker @coroutine#204] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36379/api/school/respect/person?since=2026-05-04T19%3A39%3A52.621045450Z&includeRelated=false 2026-05-04 23:39:52.666 [Test worker @coroutine#204] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36379/api/school/respect/person?since=2026-05-04T19%3A39%3A52.621045450Z&includeRelated=false 2026-05-04 23:39:52.668 [Test worker @coroutine#204] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36379/api/school/respect/person?since=2026-05-04T19%3A39%3A52.621045450Z&includeRelated=false. 2026-05-04 23:39:54.810 [Test worker @coroutine#231] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:54.814 [Test worker @coroutine#231] INFO io.ktor.server.Application - Application started in 0.025 seconds. 2026-05-04 23:39:54.816 [DefaultDispatcher-worker-10 @coroutine#241] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46781 2026-05-04 23:39:54.823 [Test worker @coroutine#231] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46781/playlist/7923de93-01af-48e4-8c73-435c701fcbf2 2026-05-04 23:39:54.823 [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:46781/playlist/7923de93-01af-48e4-8c73-435c701fcbf2. 2026-05-04 23:39:54.823 [Test worker @coroutine#231] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46781/playlist/7923de93-01af-48e4-8c73-435c701fcbf2 2026-05-04 23:39:54.829 [eventLoopGroupProxy-31-1 @call-handler#245] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 7923de93-01af-48e4-8c73-435c701fcbf2] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[7923de93-01af-48e4-8c73-435c701fcbf2]] @ /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=[7923de93-01af-48e4-8c73-435c701fcbf2]] @ /playlist/{uuid}/(method:GET) 2026-05-04 23:39:54.842 [Test worker @coroutine#231] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46781/playlist/7923de93-01af-48e4-8c73-435c701fcbf2 2026-05-04 23:39:54.843 [Test worker @coroutine#231] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46781/playlist/7923de93-01af-48e4-8c73-435c701fcbf2 2026-05-04 23:39:54.843 [Test worker @coroutine#231] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46781/playlist/7923de93-01af-48e4-8c73-435c701fcbf2 2026-05-04 23:39:54.844 [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:46781/playlist/7923de93-01af-48e4-8c73-435c701fcbf2. 2026-05-04 23:39:56.913 [Test worker @coroutine#249] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:56.914 [Test worker @coroutine#249] INFO io.ktor.server.Application - Application started in 0.01 seconds. 2026-05-04 23:39:56.918 [DefaultDispatcher-worker-1 @coroutine#258] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33409 2026-05-04 23:39:56.950 [DefaultDispatcher-worker-10 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33409/playlist/f0948a0b-76e5-4054-b440-870f900c8b5d 2026-05-04 23:39:56.951 [DefaultDispatcher-worker-10 @coroutine#256] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@446f3743 for http://localhost:33409/playlist/f0948a0b-76e5-4054-b440-870f900c8b5d 2026-05-04 23:39:56.952 [DefaultDispatcher-worker-10 @coroutine#256] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33409/playlist/f0948a0b-76e5-4054-b440-870f900c8b5d 2026-05-04 23:39:56.952 [DefaultDispatcher-worker-10 @coroutine#256] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33409/playlist/f0948a0b-76e5-4054-b440-870f900c8b5d from class io.ktor.http.content.TextContent 2026-05-04 23:39:56.959 [eventLoopGroupProxy-34-1 @call-handler#266] TRACE io.ktor.server.routing.Routing - Trace for [playlist, f0948a0b-76e5-4054-b440-870f900c8b5d] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[f0948a0b-76e5-4054-b440-870f900c8b5d]] @ /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=[f0948a0b-76e5-4054-b440-870f900c8b5d]] @ /playlist/{uuid}/(method:POST) 2026-05-04 23:39:56.960 [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/f0948a0b-76e5-4054-b440-870f900c8b5d 2026-05-04 23:39:56.964 [DefaultDispatcher-worker-10 @call-handler#266] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/f0948a0b-76e5-4054-b440-870f900c8b5d request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-05-04 23:39:56.966 [DefaultDispatcher-worker-5 @coroutine#256] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33409/playlist/f0948a0b-76e5-4054-b440-870f900c8b5d 2026-05-04 23:39:56.967 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33409/playlist/f0948a0b-76e5-4054-b440-870f900c8b5d 2026-05-04 23:39:56.967 [DefaultDispatcher-worker-5 @coroutine#256] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33409/playlist/f0948a0b-76e5-4054-b440-870f900c8b5d 2026-05-04 23:39:59.009 [Test worker @coroutine#271] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:39:59.010 [Test worker @coroutine#271] INFO io.ktor.server.Application - Application started in 0.008 seconds. 2026-05-04 23:39:59.012 [DefaultDispatcher-worker-9 @coroutine#280] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41123 2026-05-04 23:39:59.081 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41123/api/school/xapi/statements 2026-05-04 23:39:59.086 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@1da28073 for http://localhost:41123/api/school/xapi/statements 2026-05-04 23:39:59.087 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41123/api/school/xapi/statements 2026-05-04 23:39:59.087 [DefaultDispatcher-worker-1 @coroutine#278] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:41123/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-05-04 23:39:59.100 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-05-04 23:39:59.102 [eventLoopGroupProxy-37-1 @call-handler#288] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-05-04 23:39:59.128 [DefaultDispatcher-worker-2 @coroutine#278] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41123/api/school/xapi/statements 2026-05-04 23:39:59.128 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41123/api/school/xapi/statements 2026-05-04 23:39:59.128 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41123/api/school/xapi/statements 2026-05-04 23:39:59.129 [DefaultDispatcher-worker-2 @coroutine#278] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41123/api/school/xapi/statements. 2026-05-04 23:40:01.185 [Test worker @coroutine#294] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-05-04 23:40:01.186 [Test worker @coroutine#294] INFO io.ktor.server.Application - Application started in 0.009 seconds. 2026-05-04 23:40:01.187 [DefaultDispatcher-worker-1 @coroutine#303] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38601 2026-05-04 23:40:01.212 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38601/api/school/xapi/statements 2026-05-04 23:40:01.212 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38601/api/school/xapi/statements. 2026-05-04 23:40:01.212 [Test worker @coroutine#294] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38601/api/school/xapi/statements 2026-05-04 23:40:01.216 [eventLoopGroupProxy-40-1 @call-handler#309] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-05-04 23:40:01.223 [Test worker @coroutine#294] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38601/api/school/xapi/statements 2026-05-04 23:40:01.223 [Test worker @coroutine#294] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38601/api/school/xapi/statements 2026-05-04 23:40:01.223 [Test worker @coroutine#294] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38601/api/school/xapi/statements 2026-05-04 23:40:01.225 [Test worker @coroutine#294] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:38601/api/school/xapi/statements.