in integrations/maven/src/main/kotlin/io/klibs/integration/maven/search/impl/BaseMavenSearchClient.kt [88:109]
override fun getKotlinToolingMetadata(mavenArtifact: MavenArtifact): KotlinToolingMetadataDelegate? {
val kotlinToolingMetadataUrl = getRemoteFileUrl(
groupId = mavenArtifact.groupId,
artifactId = mavenArtifact.artifactId,
version = mavenArtifact.version,
fileName = "-kotlin-tooling-metadata.json"
)
return executeFetch(kotlinToolingMetadataUrl) { response ->
when (val parseResult =
KotlinToolingMetadata.parseJson(
String(
response.body.readAllBytes(),
StandardCharsets.UTF_8
)
)) {
is KotlinToolingMetadataParsingResult.Failure -> throw IllegalArgumentException(parseResult.reason)
is KotlinToolingMetadataParsingResult.Success -> KotlinToolingMetadataDelegateImpl(validate(parseResult.value))
}
}
}