diff --git a/maven-resolver-test-http/src/main/java/org/eclipse/aether/internal/test/util/http/HttpTransporterTest.java b/maven-resolver-test-http/src/main/java/org/eclipse/aether/internal/test/util/http/HttpTransporterTest.java
index 776bcc381..920922e07 100644
--- a/maven-resolver-test-http/src/main/java/org/eclipse/aether/internal/test/util/http/HttpTransporterTest.java
+++ b/maven-resolver-test-http/src/main/java/org/eclipse/aether/internal/test/util/http/HttpTransporterTest.java
@@ -184,6 +184,7 @@ protected void setUp(TestInfo testInfo) throws Exception {
factory = transporterFactorySupplier.get();
repoDir = TestFileUtils.createTempDir();
TestFileUtils.writeString(new File(repoDir, "file.txt"), "test");
+ TestFileUtils.writeString(new File(repoDir, "artifact.pom"), "pom");
TestFileUtils.writeString(new File(repoDir, "dir/file.txt"), "test");
TestFileUtils.writeString(new File(repoDir, "dir/oldFile.txt"), "oldTest", OLD_FILE_TIMESTAMP);
TestFileUtils.writeString(new File(repoDir, "empty.txt"), "");
@@ -391,6 +392,17 @@ protected void testGet_ToFileTimestamp() throws Exception {
assertEquals(OLD_FILE_TIMESTAMP, file.lastModified());
}
+ @Test
+ protected void testGet_CompressionUsedWithPom() throws Exception {
+ File file = TestFileUtils.createTempFile("pom");
+ GetTask task = new GetTask(URI.create("repo/artifact.pom")).setDataPath(file.toPath());
+ transporter.get(task);
+ String acceptEncoding = httpServer.getLogEntries().get(0).getHeaders().get("Accept-Encoding");
+ assertNotNull(acceptEncoding, "Missing Accept-Encoding header when retrieving pom");
+ // support either gzip or deflate as the transporter implementation may vary
+ assertTrue(acceptEncoding.contains("gzip") || acceptEncoding.contains("deflate"));
+ }
+
@Test
protected void testGet_EmptyResource() throws Exception {
File file = TestFileUtils.createTempFile("failure");
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/pom.xml b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/pom.xml
index 3c18dc77c..c61ac14c5 100644
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/pom.xml
+++ b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/pom.xml
@@ -53,6 +53,11 @@
org.apache.maven.resolver
maven-resolver-util
+
+ com.github.mizosoft.methanol
+ methanol
+ 1.8.3
+
javax.inject
javax.inject
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
index 7029762e8..a6b2854f0 100644
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
+++ b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
@@ -61,6 +61,7 @@
import java.util.function.Supplier;
import java.util.regex.Matcher;
+import com.github.mizosoft.methanol.Methanol;
import org.eclipse.aether.ConfigurationProperties;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.AuthenticationContext;
@@ -485,7 +486,7 @@ public X509Certificate[] getAcceptedIssuers() {
}
}
- HttpClient.Builder builder = HttpClient.newBuilder()
+ HttpClient.Builder builder = Methanol.newBuilder()
.version(HttpClient.Version.valueOf(ConfigUtils.getString(
session,
DEFAULT_HTTP_VERSION,