From d3b6fb50d14e4bff18a2f5137fae6d902d64a817 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 19 Aug 2020 16:41:45 -0700 Subject: [PATCH] Catch all IOExceptions in executeMethod. Closes #2 --- .../thauvin/erik/pinboard/PinboardPoster.kt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt b/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt index 8b7c1a2..7127b66 100644 --- a/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt +++ b/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt @@ -242,32 +242,32 @@ open class PinboardPoster() { } private fun executeMethod(method: String, params: List>): Boolean { - val apiUrl = cleanEndPoint(method).toHttpUrlOrNull() - if (apiUrl != null) { - val httpUrl = apiUrl.newBuilder().apply { - params.forEach { - addQueryParameter(it.first, it.second) - } - addQueryParameter("auth_token", apiToken) - }.build() + try { + val apiUrl = cleanEndPoint(method).toHttpUrlOrNull() + if (apiUrl != null) { + val httpUrl = apiUrl.newBuilder().apply { + params.forEach { + addQueryParameter(it.first, it.second) + } + addQueryParameter("auth_token", apiToken) + }.build() - val request = Request.Builder().url(httpUrl).build() - val result = client.newCall(request).execute() - val response = result.body?.string() + val request = Request.Builder().url(httpUrl).build() + val result = client.newCall(request).execute() + val response = result.body?.string() - if (response != null) { - if (response.contains("done")) { - return true - } else { - try { + if (response != null) { + if (response.contains("done")) { + return true + } else { parseMethodResponse(method, response) - } catch (e: IOException) { - logger.log(Level.SEVERE, e.message, e) } } + } else { + logger.severe("Invalid API end point: $apiEndPoint") } - } else { - logger.severe("Invalid API end point: $apiEndPoint") + } catch (e: IOException) { + logger.log(Level.SEVERE, e.message, e) } return false