aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-10-08 16:19:46 -0400
committerMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-10-08 16:19:46 -0400
commit2572bfd7ef3f13f7bfafe6a725dfbf07d5bc8003 (patch)
tree25bbf7746e92d38a2d191e98f0f2ce743b054ee1 /src/main
parentc2205cab45aa2abad7afe83c0ed58a34849da699 (diff)
downloadSkytilsMod-2572bfd7ef3f13f7bfafe6a725dfbf07d5bc8003.tar.gz
SkytilsMod-2572bfd7ef3f13f7bfafe6a725dfbf07d5bc8003.tar.bz2
SkytilsMod-2572bfd7ef3f13f7bfafe6a725dfbf07d5bc8003.zip
lower timeout from 3 minutes to 1 minute
Diffstat (limited to 'src/main')
-rw-r--r--src/main/kotlin/skytils/skytilsmod/utils/APIUtil.kt40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/main/kotlin/skytils/skytilsmod/utils/APIUtil.kt b/src/main/kotlin/skytils/skytilsmod/utils/APIUtil.kt
index a58b3a35..89ae8ec9 100644
--- a/src/main/kotlin/skytils/skytilsmod/utils/APIUtil.kt
+++ b/src/main/kotlin/skytils/skytilsmod/utils/APIUtil.kt
@@ -22,12 +22,15 @@ import com.google.gson.JsonObject
import com.google.gson.JsonParser
import gg.essential.universal.UChat
import org.apache.hc.client5.http.classic.methods.HttpGet
+import org.apache.hc.client5.http.config.RequestConfig
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder
import org.apache.hc.client5.http.impl.classic.HttpClients
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactoryBuilder
import org.apache.hc.core5.http.io.entity.EntityUtils
+import org.apache.hc.core5.http.message.BasicHeader
import org.apache.hc.core5.ssl.SSLContexts
+import org.apache.hc.core5.util.Timeout
import skytils.skytilsmod.Skytils
import java.awt.image.BufferedImage
import java.net.HttpURLConnection
@@ -53,12 +56,21 @@ object APIUtil {
val builder: HttpClientBuilder =
HttpClients.custom().setUserAgent("Skytils/${Skytils.VERSION}")
- .addRequestInterceptorFirst { request, entity, context ->
- if (!request.containsHeader("Pragma")) request.addHeader("Pragma", "no-cache")
- if (!request.containsHeader("Cache-Control")) request.addHeader("Cache-Control", "no-cache")
- }
.setConnectionManagerShared(true)
.setConnectionManager(cm.build())
+ .setDefaultHeaders(
+ mutableListOf(
+ BasicHeader("Pragma", "no-cache"),
+ BasicHeader("Cache-Control", "no-cache")
+ )
+ )
+ .setDefaultRequestConfig(
+ RequestConfig.custom()
+ .setConnectTimeout(Timeout.ofMinutes(1))
+ .setResponseTimeout(Timeout.ofMinutes(1))
+ .build()
+ )
+ .useSystemProperties()
/**
* Taken from Elementa under MIT License
@@ -78,12 +90,8 @@ object APIUtil {
fun getJSONResponse(urlString: String): JsonObject {
val client = builder.build()
try {
- val request = HttpGet(URL(urlString).toURI())
-
- val response = client.execute(request)
- response.use {
- val entity = response.entity
- entity.use {
+ client.execute(HttpGet(urlString)).use { response ->
+ response.entity.use { entity ->
val obj = parser.parse(EntityUtils.toString(entity)).asJsonObject
EntityUtils.consume(entity)
return obj
@@ -101,15 +109,11 @@ object APIUtil {
fun getArrayResponse(urlString: String): JsonArray {
val client = builder.build()
try {
- val request = HttpGet(URL(urlString).toURI())
-
- val response = client.execute(request)
- response.use {
- val entity = response.entity
- entity.use {
- val arr = parser.parse(EntityUtils.toString(entity)).asJsonArray
+ client.execute(HttpGet(urlString)).use { response ->
+ response.entity.use { entity ->
+ val obj = parser.parse(EntityUtils.toString(entity)).asJsonArray
EntityUtils.consume(entity)
- return arr
+ return obj
}
}
} catch (ex: Throwable) {