in plugin-azure-common/src/main/kotlin/jetbrains/buildServer/clouds/azure/AzureMetadata.kt [54:84]
fun readScheduledEventsMetadata(): ScheduledEventsMetadata? {
val requestConfig = RequestConfig.custom()
.setConnectTimeout(CONNECTION_TIMEOUT_MS)
.build()
HttpClients.custom()
.useSystemProperties()
.setDefaultRequestConfig(requestConfig)
.build().use {
val response = try {
it.execute(HttpGet(SCHEDULED_EVENTS_METADATA_URL).apply {
addHeader("Metadata", "true")
})
} catch (e: Exception) {
throw IOException("Failed to connect to $SCHEDULED_EVENTS_METADATA_URL: ${e.message}")
}
val statusCode = response.statusLine.statusCode
if (statusCode == 200) {
val entity : String? = EntityUtils.toString(response.entity)
return try {
deserializeScheduledEventsMetadata(entity)
} catch (e : Throwable) {
LOG.warnAndDebugDetails("Failed to deserialize scheduled events metadata: $entity", e)
throw e
}
} else {
throw IOException("Failed to connect to $SCHEDULED_EVENTS_METADATA_URL: HTTP $statusCode")
}
}
}