Catch all IOExceptions in executeMethod. Closes #2

This commit is contained in:
Erik C. Thauvin 2020-08-19 16:41:45 -07:00
parent 505eee98f0
commit d3b6fb50d1

View file

@ -242,32 +242,32 @@ open class PinboardPoster() {
} }
private fun executeMethod(method: String, params: List<Pair<String, String>>): Boolean { private fun executeMethod(method: String, params: List<Pair<String, String>>): Boolean {
val apiUrl = cleanEndPoint(method).toHttpUrlOrNull() try {
if (apiUrl != null) { val apiUrl = cleanEndPoint(method).toHttpUrlOrNull()
val httpUrl = apiUrl.newBuilder().apply { if (apiUrl != null) {
params.forEach { val httpUrl = apiUrl.newBuilder().apply {
addQueryParameter(it.first, it.second) params.forEach {
} addQueryParameter(it.first, it.second)
addQueryParameter("auth_token", apiToken) }
}.build() addQueryParameter("auth_token", apiToken)
}.build()
val request = Request.Builder().url(httpUrl).build() val request = Request.Builder().url(httpUrl).build()
val result = client.newCall(request).execute() val result = client.newCall(request).execute()
val response = result.body?.string() val response = result.body?.string()
if (response != null) { if (response != null) {
if (response.contains("done")) { if (response.contains("done")) {
return true return true
} else { } else {
try {
parseMethodResponse(method, response) parseMethodResponse(method, response)
} catch (e: IOException) {
logger.log(Level.SEVERE, e.message, e)
} }
} }
} else {
logger.severe("Invalid API end point: $apiEndPoint")
} }
} else { } catch (e: IOException) {
logger.severe("Invalid API end point: $apiEndPoint") logger.log(Level.SEVERE, e.message, e)
} }
return false return false