summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
authorKaeso <24925519+ptlthg@users.noreply.github.com>2023-08-27 16:32:00 -0400
committerGitHub <noreply@github.com>2023-08-27 22:32:00 +0200
commit80a6728abdd34d80495bfd18f0250bbf59865a25 (patch)
tree97b7829d4b0bdde2b60e106aecbf36060e2796cd /src/main/java/at/hannibal2/skyhanni/utils
parent61db65f366935ba67cdd22ca0ea6a8afc1d9e261 (diff)
downloadskyhanni-80a6728abdd34d80495bfd18f0250bbf59865a25.tar.gz
skyhanni-80a6728abdd34d80495bfd18f0250bbf59865a25.tar.bz2
skyhanni-80a6728abdd34d80495bfd18f0250bbf59865a25.zip
Merge pull request #335
* Sync Jacob Contests
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt b/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt
index 04bd67c18..917243b47 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt
@@ -7,6 +7,9 @@ import com.google.gson.JsonParser
import com.google.gson.JsonSyntaxException
import org.apache.http.client.config.RequestConfig
import org.apache.http.client.methods.HttpGet
+import org.apache.http.client.methods.HttpPost
+import org.apache.http.entity.ContentType
+import org.apache.http.entity.StringEntity
import org.apache.http.impl.client.HttpClientBuilder
import org.apache.http.impl.client.HttpClients
import org.apache.http.message.BasicHeader
@@ -83,6 +86,38 @@ object APIUtil {
return JsonObject()
}
+ fun postJSONIsSuccessful(urlString: String, body: String, silentError: Boolean = false): Boolean {
+ val client = builder.build()
+ try {
+ val method = HttpPost(urlString)
+ method.entity = StringEntity(body, ContentType.APPLICATION_JSON)
+
+ client.execute(method).use { response ->
+ val status = response.statusLine
+
+ if (status.statusCode >= 200 || status.statusCode < 300) {
+ return true
+ }
+
+ println("POST request to '$urlString' returned status ${status.statusCode}")
+ LorenzUtils.error("SkyHanni ran into an error whilst sending data. Status: ${status.statusCode}")
+
+ return false
+ }
+ } catch (throwable: Throwable) {
+ if (silentError) {
+ throw throwable
+ } else {
+ throwable.printStackTrace()
+ LorenzUtils.error("SkyHanni ran into an ${throwable::class.simpleName ?: "error"} whilst sending a resource. See logs for more details.")
+ }
+ } finally {
+ client.close()
+ }
+
+ return false
+ }
+
fun readFile(file: File): BufferedReader {
return BufferedReader(InputStreamReader(FileInputStream(file), StandardCharsets.UTF_8))
}