override fun getKotlinToolingMetadata()

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))
            }
        }
    }