```suspend fun read(): PlayerDatabase { re...
# ktor
b
Copy code
suspend fun read(): PlayerDatabase {
        return HttpClient(CIO).use { client ->
            competitions.map {
                GlobalScope.async(client.dispatcher) {
                    client.call(createUrl(it)).response.readBytes().toString(Charsets.UTF_8)
                }
            }.map { responseAsString -> responseAsString.await() }
                    .flatMap { responseAsString -> getLines(responseAsString) }
                    .filter { line -> isRankingLine(line) }
                    .flatMap { line -> getPlayers(line) }
                    .associateBy { player -> player.licenseNumber }
        }
    }