From a197246a2ccb7aa0ca6459bde783e70dd27badc6 Mon Sep 17 00:00:00 2001 From: David Baker Effendi Date: Thu, 26 Feb 2026 12:15:32 +0200 Subject: [PATCH 1/3] enh: add User-Agent and timeouts to Utils network requests --- .../src/main/groovy/org/treesitter/build/Utils.groovy | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy b/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy index 9eacd66..ed6b2b9 100644 --- a/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy +++ b/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy @@ -147,6 +147,10 @@ abstract class Utils { static void downloadFile(URL url, File dest){ url.openConnection().with { conn -> + conn.setRequestProperty("User-Agent", "Mozilla/5.0") + conn.setRequestProperty("Accept", "application/zip") + conn.setConnectTimeout(30000) + conn.setReadTimeout(30000) dest.withOutputStream { output -> conn.inputStream.with {input -> output << input @@ -155,9 +159,12 @@ abstract class Utils { } } } - + static String fetchUrl(URL url){ return url.openConnection().with { conn -> + conn.setRequestProperty("User-Agent", "Mozilla/5.0") + conn.setConnectTimeout(30000) + conn.setReadTimeout(30000) conn.inputStream.withCloseable { input -> return input.text } From e2c1ae3f75d62dd14911dc5132b838f7e93cab5c Mon Sep 17 00:00:00 2001 From: David Baker Effendi Date: Thu, 26 Feb 2026 12:18:35 +0200 Subject: [PATCH 2/3] enh: allow custom Accept header in Utils downloadFile methods --- .../src/main/groovy/org/treesitter/build/Utils.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy b/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy index ed6b2b9..19de46e 100644 --- a/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy +++ b/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy @@ -145,10 +145,10 @@ abstract class Utils { ] } - static void downloadFile(URL url, File dest){ + static void downloadFile(URL url, File dest, String accept = "application/zip"){ url.openConnection().with { conn -> conn.setRequestProperty("User-Agent", "Mozilla/5.0") - conn.setRequestProperty("Accept", "application/zip") + conn.setRequestProperty("Accept", accept) conn.setConnectTimeout(30000) conn.setReadTimeout(30000) dest.withOutputStream { output -> @@ -171,8 +171,8 @@ abstract class Utils { } } - static void downloadFile(String url, File dest){ - downloadFile(new URL(url), dest) + static void downloadFile(String url, File dest, String accept = "application/zip"){ + downloadFile(new URL(url), dest, accept) } static unzipFile(File zipFile, File outputDir) { From 81d7f6efa3f25797623d6d915688b047a82deb16 Mon Sep 17 00:00:00 2001 From: David Baker Effendi Date: Thu, 26 Feb 2026 12:19:44 +0200 Subject: [PATCH 3/3] refactor: use withCloseable for input stream in Utils --- buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy b/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy index 19de46e..52e1d33 100644 --- a/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy +++ b/buildSrc/src/main/groovy/org/treesitter/build/Utils.groovy @@ -152,9 +152,8 @@ abstract class Utils { conn.setConnectTimeout(30000) conn.setReadTimeout(30000) dest.withOutputStream { output -> - conn.inputStream.with {input -> + conn.inputStream.withCloseable { input -> output << input - input.close() } } }