Skip to content

Commit 0ee953c

Browse files
authored
Add timeouts for HTTP requests (#970)
Defaults to 30s - Add timeouts for HTTP workers to prevent hangs (thanks litetex)
1 parent 0d60edf commit 0ee953c

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

src/main/java/com/terraformersmc/modmenu/util/HttpUtil.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@
99
import java.net.http.HttpClient;
1010
import java.net.http.HttpRequest;
1111
import java.net.http.HttpResponse;
12+
import java.time.Duration;
1213

1314
public class HttpUtil {
15+
private static final Duration TIMEOUT = Duration.ofSeconds(30);
1416
private static final String USER_AGENT = buildUserAgent();
1517
private static final HttpClient HTTP_CLIENT = HttpClient.newBuilder()
1618
.executor(Util.nonCriticalIoPool())
19+
.connectTimeout(TIMEOUT)
1720
.build();
1821

1922
private HttpUtil() {
@@ -24,6 +27,7 @@ public static <T> HttpResponse<T> request(
2427
HttpResponse.BodyHandler<T> handler
2528
) throws IOException, InterruptedException {
2629
builder.setHeader("User-Agent", USER_AGENT);
30+
builder.timeout(TIMEOUT);
2731
return HTTP_CLIENT.send(builder.build(), handler);
2832
}
2933

0 commit comments

Comments
 (0)