2026-06-04 19:21:45.413 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:21:45.650 [Test worker] INFO io.ktor.server.Application - Application started in 0.582 seconds. 2026-06-04 19:21:45.930 [DefaultDispatcher-worker-2 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34475 2026-06-04 19:21:47.852 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34475/resources/index.json 2026-06-04 19:21:47.855 [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:34475/resources/index.json. 2026-06-04 19:21:47.856 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34475/resources/index.json 2026-06-04 19:21:48.241 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-04 19:21:48.420 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34475/resources/index.json 2026-06-04 19:21:48.436 [DefaultDispatcher-worker-2 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 211ms 2026-06-04 19:21:48.438 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34475/resources/index.json 2026-06-04 19:21:48.439 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34475/resources/index.json 2026-06-04 19:21:48.518 [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:34475/resources/index.json. 2026-06-04 19:21:48.644 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34475/resources/index.json 2026-06-04 19:21:48.644 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34475/resources/index.json. 2026-06-04 19:21:48.644 [DefaultDispatcher-worker-5 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34475/resources/index.json 2026-06-04 19:21:48.669 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-04 19:21:48.677 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 10ms 2026-06-04 19:21:48.683 [DefaultDispatcher-worker-6 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34475/resources/index.json 2026-06-04 19:21:48.683 [DefaultDispatcher-worker-6 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34475/resources/index.json 2026-06-04 19:21:48.683 [DefaultDispatcher-worker-6 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34475/resources/index.json 2026-06-04 19:21:50.789 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:21:50.794 [Test worker] INFO io.ktor.server.Application - Application started in 0.005 seconds. 2026-06-04 19:21:50.800 [DefaultDispatcher-worker-5 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38799 2026-06-04 19:21:50.893 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38799/resources/index.json 2026-06-04 19:21:50.894 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38799/resources/index.json. 2026-06-04 19:21:50.894 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38799/resources/index.json 2026-06-04 19:21:50.912 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-04 19:21:50.917 [eventLoopGroupProxy-7-1 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 6ms 2026-06-04 19:21:50.922 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38799/resources/index.json 2026-06-04 19:21:50.922 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38799/resources/index.json 2026-06-04 19:21:50.923 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38799/resources/index.json 2026-06-04 19:21:50.928 [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:38799/resources/index.json. 2026-06-04 19:21:50.946 [DefaultDispatcher-worker-7 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38799/resources/index.json 2026-06-04 19:21:50.946 [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:38799/resources/index.json. 2026-06-04 19:21:50.946 [DefaultDispatcher-worker-7 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38799/resources/index.json 2026-06-04 19:21:50.958 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-04 19:21:50.960 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 4ms 2026-06-04 19:21:50.962 [DefaultDispatcher-worker-3 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38799/resources/index.json 2026-06-04 19:21:50.963 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38799/resources/index.json 2026-06-04 19:21:50.963 [DefaultDispatcher-worker-3 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38799/resources/index.json 2026-06-04 19:21:53.039 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:21:53.040 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-04 19:21:53.045 [DefaultDispatcher-worker-3 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40885 2026-06-04 19:21:53.057 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40885/resources/lesson001.json 2026-06-04 19:21:53.058 [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:40885/resources/lesson001.json. 2026-06-04 19:21:53.058 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40885/resources/lesson001.json 2026-06-04 19:21:53.072 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-04 19:21:53.074 [DefaultDispatcher-worker-5 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 3ms 2026-06-04 19:21:53.076 [DefaultDispatcher-worker-7 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40885/resources/lesson001.json 2026-06-04 19:21:53.077 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40885/resources/lesson001.json 2026-06-04 19:21:53.077 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40885/resources/lesson001.json 2026-06-04 19:21:53.084 [DefaultDispatcher-worker-5 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:40885/resources/lesson001.json. 2026-06-04 19:21:55.639 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:21:55.671 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.288 seconds. 2026-06-04 19:21:55.685 [DefaultDispatcher-worker-3 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36455 2026-06-04 19:21:55.720 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36455/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:55.720 [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:36455/api/school/respect/schoolpermissiongrant. 2026-06-04 19:21:55.720 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36455/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:55.740 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-04 19:21:55.784 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36455/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:55.785 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36455/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:55.785 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36455/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:55.798 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36455/api/school/respect/schoolpermissiongrant. 2026-06-04 19:21:56.016 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.017 [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:36455/api/school/respect/person?includeRelated=false. 2026-06-04 19:21:56.017 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.033 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:21:56.115 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.116 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.116 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.128 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36455/api/school/respect/person?includeRelated=false. 2026-06-04 19:21:56.151 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.151 [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:36455/api/school/respect/person?includeRelated=false. 2026-06-04 19:21:56.151 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.159 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:21:56.171 [DefaultDispatcher-worker-6 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-04 19:21:56.173 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.173 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:56.174 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36455/api/school/respect/person?includeRelated=false 2026-06-04 19:21:58.450 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:21:58.454 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.097 seconds. 2026-06-04 19:21:58.462 [DefaultDispatcher-worker-5 @coroutine#103] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35563 2026-06-04 19:21:58.463 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35563/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:58.463 [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:35563/api/school/respect/schoolpermissiongrant. 2026-06-04 19:21:58.463 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35563/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:58.468 [eventLoopGroupProxy-16-1 @call-handler#107] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-04 19:21:58.475 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35563/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:58.475 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35563/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:58.476 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35563/api/school/respect/schoolpermissiongrant 2026-06-04 19:21:58.476 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35563/api/school/respect/schoolpermissiongrant. 2026-06-04 19:21:58.590 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35563/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-04 19:21:58.590 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35563/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-04 19:21:58.590 [DefaultDispatcher-worker-7 @coroutine#113] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:35563/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-04 19:21:58.593 [eventLoopGroupProxy-16-1 @call-handler#117] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:21:58.602 [DefaultDispatcher-worker-3 @coroutine#113] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35563/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-04 19:21:58.603 [DefaultDispatcher-worker-6 @coroutine#113] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35563/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-04 19:21:58.603 [DefaultDispatcher-worker-6 @coroutine#113] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35563/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-04 19:21:58.607 [DefaultDispatcher-worker-6 @coroutine#113] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35563/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-04 19:22:00.750 [Test worker @coroutine#122] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:00.751 [Test worker @coroutine#122] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-04 19:22:00.753 [DefaultDispatcher-worker-3 @coroutine#130] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42721 2026-06-04 19:22:00.761 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42721/api/school/respect/person?includeRelated=false 2026-06-04 19:22:00.761 [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:42721/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:00.761 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42721/api/school/respect/person?includeRelated=false 2026-06-04 19:22:00.767 [eventLoopGroupProxy-19-1 @call-handler#135] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:22:00.774 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42721/api/school/respect/person?includeRelated=false 2026-06-04 19:22:00.775 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42721/api/school/respect/person?includeRelated=false 2026-06-04 19:22:00.775 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42721/api/school/respect/person?includeRelated=false 2026-06-04 19:22:00.776 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42721/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:00.850 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42721/api/school/respect/person?since=2026-06-04T15%3A22%3A00.768741031Z&includeRelated=false 2026-06-04 19:22:00.851 [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:42721/api/school/respect/person?since=2026-06-04T15%3A22%3A00.768741031Z&includeRelated=false. 2026-06-04 19:22:00.851 [Test worker @coroutine#122] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42721/api/school/respect/person?since=2026-06-04T15%3A22%3A00.768741031Z&includeRelated=false 2026-06-04 19:22:00.859 [eventLoopGroupProxy-19-1 @call-handler#141] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:22:00.863 [Test worker @coroutine#122] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42721/api/school/respect/person?since=2026-06-04T15%3A22%3A00.768741031Z&includeRelated=false 2026-06-04 19:22:00.863 [Test worker @coroutine#122] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42721/api/school/respect/person?since=2026-06-04T15%3A22%3A00.768741031Z&includeRelated=false 2026-06-04 19:22:00.863 [Test worker @coroutine#122] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42721/api/school/respect/person?since=2026-06-04T15%3A22%3A00.768741031Z&includeRelated=false 2026-06-04 19:22:00.864 [Test worker @coroutine#122] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42721/api/school/respect/person?since=2026-06-04T15%3A22%3A00.768741031Z&includeRelated=false. 2026-06-04 19:22:03.017 [Test worker @coroutine#147] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:03.018 [Test worker @coroutine#147] INFO io.ktor.server.Application - Application started in 0.051 seconds. 2026-06-04 19:22:03.019 [DefaultDispatcher-worker-3 @coroutine#156] INFO io.ktor.server.Application - Responding at http://0.0.0.0:40801 2026-06-04 19:22:03.075 [DefaultDispatcher-worker-4 @coroutine#154] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40801/api/school/respect/person 2026-06-04 19:22:03.075 [DefaultDispatcher-worker-4 @coroutine#154] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@79faefb for http://localhost:40801/api/school/respect/person 2026-06-04 19:22:03.075 [DefaultDispatcher-worker-4 @coroutine#154] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:40801/api/school/respect/person 2026-06-04 19:22:03.075 [DefaultDispatcher-worker-4 @coroutine#154] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:40801/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-04 19:22:03.080 [eventLoopGroupProxy-22-1 @call-handler#166] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-04 19:22:03.092 [eventLoopGroupProxy-22-1 @call-handler#166] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-04 19:22:03.095 [DefaultDispatcher-worker-4 @call-handler#166] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-04 19:22:03.096 [DefaultDispatcher-worker-5 @coroutine#154] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40801/api/school/respect/person 2026-06-04 19:22:03.096 [DefaultDispatcher-worker-5 @coroutine#154] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40801/api/school/respect/person 2026-06-04 19:22:03.096 [DefaultDispatcher-worker-5 @coroutine#154] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40801/api/school/respect/person 2026-06-04 19:22:05.227 [Test worker @coroutine#171] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:05.228 [Test worker @coroutine#171] INFO io.ktor.server.Application - Application started in 0.049 seconds. 2026-06-04 19:22:05.229 [DefaultDispatcher-worker-7 @coroutine#180] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44035 2026-06-04 19:22:05.230 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44035/api/school/respect/schoolpermissiongrant 2026-06-04 19:22:05.231 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44035/api/school/respect/schoolpermissiongrant. 2026-06-04 19:22:05.231 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44035/api/school/respect/schoolpermissiongrant 2026-06-04 19:22:05.236 [eventLoopGroupProxy-25-1 @call-handler#184] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-04 19:22:05.239 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44035/api/school/respect/schoolpermissiongrant 2026-06-04 19:22:05.240 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44035/api/school/respect/schoolpermissiongrant 2026-06-04 19:22:05.240 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44035/api/school/respect/schoolpermissiongrant 2026-06-04 19:22:05.240 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44035/api/school/respect/schoolpermissiongrant. 2026-06-04 19:22:05.283 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:05.283 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44035/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:05.283 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:05.285 [eventLoopGroupProxy-25-1 @call-handler#190] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:22:05.292 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:05.292 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:05.292 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:05.294 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44035/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:07.318 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:07.318 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44035/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:07.318 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:07.323 [eventLoopGroupProxy-25-1 @call-handler#197] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:22:07.336 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:07.336 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:07.336 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44035/api/school/respect/person?includeRelated=false 2026-06-04 19:22:07.340 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:44035/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:09.564 [Test worker @coroutine#203] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:09.565 [Test worker @coroutine#203] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-04 19:22:09.566 [DefaultDispatcher-worker-6 @coroutine#212] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36391 2026-06-04 19:22:09.569 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36391/api/school/respect/person?includeRelated=false 2026-06-04 19:22:09.570 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36391/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:09.570 [Test worker @coroutine#203] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36391/api/school/respect/person?includeRelated=false 2026-06-04 19:22:09.573 [eventLoopGroupProxy-28-1 @call-handler#217] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:22:09.578 [Test worker @coroutine#203] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36391/api/school/respect/person?includeRelated=false 2026-06-04 19:22:09.578 [Test worker @coroutine#203] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36391/api/school/respect/person?includeRelated=false 2026-06-04 19:22:09.578 [Test worker @coroutine#203] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36391/api/school/respect/person?includeRelated=false 2026-06-04 19:22:09.579 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36391/api/school/respect/person?includeRelated=false. 2026-06-04 19:22:09.627 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36391/api/school/respect/person?since=2026-06-04T15%3A22%3A09.573916759Z&includeRelated=false 2026-06-04 19:22:09.627 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36391/api/school/respect/person?since=2026-06-04T15%3A22%3A09.573916759Z&includeRelated=false. 2026-06-04 19:22:09.627 [Test worker @coroutine#203] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36391/api/school/respect/person?since=2026-06-04T15%3A22%3A09.573916759Z&includeRelated=false 2026-06-04 19:22:09.629 [eventLoopGroupProxy-28-1 @call-handler#224] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-04 19:22:09.632 [Test worker @coroutine#203] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36391/api/school/respect/person?since=2026-06-04T15%3A22%3A09.573916759Z&includeRelated=false 2026-06-04 19:22:09.633 [Test worker @coroutine#203] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36391/api/school/respect/person?since=2026-06-04T15%3A22%3A09.573916759Z&includeRelated=false 2026-06-04 19:22:09.633 [Test worker @coroutine#203] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36391/api/school/respect/person?since=2026-06-04T15%3A22%3A09.573916759Z&includeRelated=false 2026-06-04 19:22:09.634 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36391/api/school/respect/person?since=2026-06-04T15%3A22%3A09.573916759Z&includeRelated=false. 2026-06-04 19:22:11.755 [Test worker @coroutine#230] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:11.757 [Test worker @coroutine#230] INFO io.ktor.server.Application - Application started in 0.045 seconds. 2026-06-04 19:22:11.759 [DefaultDispatcher-worker-1 @coroutine#240] INFO io.ktor.server.Application - Responding at http://0.0.0.0:39757 2026-06-04 19:22:11.761 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:39757/playlist/2d5b3c1a-97ab-42c5-a951-e4fa00d0653b 2026-06-04 19:22:11.762 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:39757/playlist/2d5b3c1a-97ab-42c5-a951-e4fa00d0653b. 2026-06-04 19:22:11.762 [Test worker @coroutine#230] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:39757/playlist/2d5b3c1a-97ab-42c5-a951-e4fa00d0653b 2026-06-04 19:22:11.765 [eventLoopGroupProxy-31-1 @call-handler#244] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 2d5b3c1a-97ab-42c5-a951-e4fa00d0653b] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[2d5b3c1a-97ab-42c5-a951-e4fa00d0653b]] @ /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=[2d5b3c1a-97ab-42c5-a951-e4fa00d0653b]] @ /playlist/{uuid}/(method:GET) 2026-06-04 19:22:11.774 [Test worker @coroutine#230] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:39757/playlist/2d5b3c1a-97ab-42c5-a951-e4fa00d0653b 2026-06-04 19:22:11.774 [Test worker @coroutine#230] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:39757/playlist/2d5b3c1a-97ab-42c5-a951-e4fa00d0653b 2026-06-04 19:22:11.774 [Test worker @coroutine#230] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:39757/playlist/2d5b3c1a-97ab-42c5-a951-e4fa00d0653b 2026-06-04 19:22:11.774 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:39757/playlist/2d5b3c1a-97ab-42c5-a951-e4fa00d0653b. 2026-06-04 19:22:13.947 [Test worker @coroutine#248] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:13.948 [Test worker @coroutine#248] INFO io.ktor.server.Application - Application started in 0.042 seconds. 2026-06-04 19:22:13.950 [DefaultDispatcher-worker-6 @coroutine#257] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44341 2026-06-04 19:22:14.017 [DefaultDispatcher-worker-1 @coroutine#255] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44341/playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 2026-06-04 19:22:14.017 [DefaultDispatcher-worker-1 @coroutine#255] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@6a0e371b for http://localhost:44341/playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 2026-06-04 19:22:14.017 [DefaultDispatcher-worker-1 @coroutine#255] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:44341/playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 2026-06-04 19:22:14.017 [DefaultDispatcher-worker-1 @coroutine#255] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:44341/playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 from class io.ktor.http.content.TextContent 2026-06-04 19:22:14.024 [eventLoopGroupProxy-34-1 @call-handler#265] TRACE io.ktor.server.routing.Routing - Trace for [playlist, ac377714-2982-4fb0-8220-ea5895ab5e34] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[ac377714-2982-4fb0-8220-ea5895ab5e34]] @ /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=[ac377714-2982-4fb0-8220-ea5895ab5e34]] @ /playlist/{uuid}/(method:POST) 2026-06-04 19:22:14.025 [eventLoopGroupProxy-34-1 @call-handler#265] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 2026-06-04 19:22:14.031 [DefaultDispatcher-worker-1 @call-handler#265] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-04 19:22:14.033 [DefaultDispatcher-worker-2 @coroutine#255] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44341/playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 2026-06-04 19:22:14.033 [DefaultDispatcher-worker-2 @coroutine#255] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44341/playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 2026-06-04 19:22:14.033 [DefaultDispatcher-worker-2 @coroutine#255] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44341/playlist/ac377714-2982-4fb0-8220-ea5895ab5e34 2026-06-04 19:22:16.211 [Test worker @coroutine#270] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:16.213 [Test worker @coroutine#270] INFO io.ktor.server.Application - Application started in 0.059 seconds. 2026-06-04 19:22:16.223 [DefaultDispatcher-worker-1 @coroutine#279] INFO io.ktor.server.Application - Responding at http://0.0.0.0:42761 2026-06-04 19:22:16.424 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:42761/api/school/xapi/statements 2026-06-04 19:22:16.427 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@1ec06ee9 for http://localhost:42761/api/school/xapi/statements 2026-06-04 19:22:16.427 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:42761/api/school/xapi/statements 2026-06-04 19:22:16.427 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:42761/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-04 19:22:16.445 [eventLoopGroupProxy-37-1 @call-handler#289] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-04 19:22:16.446 [eventLoopGroupProxy-37-1 @call-handler#289] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-04 19:22:16.508 [DefaultDispatcher-worker-7 @coroutine#277] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:42761/api/school/xapi/statements 2026-06-04 19:22:16.513 [DefaultDispatcher-worker-3 @coroutine#277] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:42761/api/school/xapi/statements 2026-06-04 19:22:16.513 [DefaultDispatcher-worker-3 @coroutine#277] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:42761/api/school/xapi/statements 2026-06-04 19:22:16.514 [DefaultDispatcher-worker-3 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:42761/api/school/xapi/statements. 2026-06-04 19:22:18.626 [Test worker @coroutine#295] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-04 19:22:18.627 [Test worker @coroutine#295] INFO io.ktor.server.Application - Application started in 0.061 seconds. 2026-06-04 19:22:18.635 [DefaultDispatcher-worker-6 @coroutine#304] INFO io.ktor.server.Application - Responding at http://0.0.0.0:43975 2026-06-04 19:22:18.700 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43975/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-04 19:22:18.700 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43975/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-04 19:22:18.700 [Test worker @coroutine#295] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:43975/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-04 19:22:18.703 [eventLoopGroupProxy-40-1 @call-handler#312] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-04 19:22:18.710 [Test worker @coroutine#295] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43975/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-04 19:22:18.711 [Test worker @coroutine#295] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43975/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-04 19:22:18.711 [Test worker @coroutine#295] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43975/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-04 19:22:18.712 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:43975/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false.