bitkid
10/21/2018, 2:02 AMsuspend 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 }
}
}