From a918fdf10796b5ad642e9473f229b206ae980610 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 31 Jan 2023 22:07:20 -0800 Subject: [PATCH] Fixed potential resource leak --- .../net/thauvin/erik/akismet/Akismet.kt | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt b/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt index c1737ba..c359415 100644 --- a/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt +++ b/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt @@ -331,25 +331,26 @@ open class Akismet(apiKey: String) { Request.Builder().url(apiUrl).post(formBody).header("User-Agent", buildUserAgent()).build() } try { - val result = client.newCall(request).execute() - httpStatusCode = result.code - proTip = result.header("x-akismet-pro-tip", "").toString().trim() - isDiscard = (proTip == "discard") - debugHelp = result.header("x-akismet-debug-help", "").toString().trim() - val body = result.body?.string() - if (body != null) { - response = body.trim() - if (response == "valid" || response == "true" || response.startsWith("Thanks")) { - return true - } else if (response != "false" && response != "invalid") { - errorMessage = "Unexpected response: " + body.ifBlank { "" } - } - } else { - val message = "No response body was received from Akismet." - errorMessage = if (debugHelp.isNotBlank()) { - "$message: $debugHelp" + client.newCall(request).execute().use { result -> + httpStatusCode = result.code + proTip = result.header("x-akismet-pro-tip", "").toString().trim() + isDiscard = (proTip == "discard") + debugHelp = result.header("x-akismet-debug-help", "").toString().trim() + val body = result.body?.string() + if (body != null) { + response = body.trim() + if (response == "valid" || response == "true" || response.startsWith("Thanks")) { + return true + } else if (response != "false" && response != "invalid") { + errorMessage = "Unexpected response: " + body.ifBlank { "" } + } } else { - message + val message = "No response body was received from Akismet." + errorMessage = if (debugHelp.isNotBlank()) { + "$message: $debugHelp" + } else { + message + } } } } catch (e: IOException) {