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,