diff --git a/maven-resolver-spi/pom.xml b/maven-resolver-spi/pom.xml
index f987a74f3a..487bca3a8d 100644
--- a/maven-resolver-spi/pom.xml
+++ b/maven-resolver-spi/pom.xml
@@ -39,6 +39,10 @@
+
+ org.slf4j
+ slf4j-api
+
org.apache.maven.resolver
maven-resolver-api
@@ -52,6 +56,11 @@
junit-jupiter-api
test
+
+ org.slf4j
+ slf4j-simple
+ test
+
diff --git a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/http/RFC9457/RFC9457Reporter.java b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/http/RFC9457/RFC9457Reporter.java
index 7fb51a945d..82bbc2c4a9 100644
--- a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/http/RFC9457/RFC9457Reporter.java
+++ b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/http/RFC9457/RFC9457Reporter.java
@@ -19,6 +19,10 @@
package org.eclipse.aether.spi.connector.transport.http.RFC9457;
import java.io.IOException;
+import java.io.UncheckedIOException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* A reporter for RFC 9457 messages.
@@ -35,6 +39,7 @@
* @see RFC 9457
*/
public abstract class RFC9457Reporter {
+ private static final Logger LOGGER = LoggerFactory.getLogger(RFC9457Reporter.class);
public static final String CONTENT_TYPE_PROBLEM_DETAILS_JSON = "application/problem+json";
public static final String CONTENT_TYPE_PROBLEM_DETAILS_JSON_AND_ANY = "application/problem+json,*/*";
@@ -92,6 +97,15 @@ public void generateException(T response, BiConsumerChecked
throw new HttpRFC9457Exception(statusCode, reasonPhrase, rfc9457Payload);
}
throw new HttpRFC9457Exception(statusCode, reasonPhrase, RFC9457Payload.INSTANCE);
+ } else {
+ try {
+ LOGGER.debug(
+ "Received a response (not RFC 9457 compliant) with status code {}: {}",
+ statusCode,
+ getBody(response));
+ } catch (IOException e) {
+ throw new UncheckedIOException("Failed to read response body", e);
+ }
}
baseException.accept(statusCode, reasonPhrase);
}
diff --git a/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/ApacheRFC9457Reporter.java b/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/ApacheRFC9457Reporter.java
index c9ff111683..41f43701bc 100644
--- a/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/ApacheRFC9457Reporter.java
+++ b/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/ApacheRFC9457Reporter.java
@@ -67,6 +67,9 @@ protected String getReasonPhrase(final CloseableHttpResponse response) {
@Override
protected String getBody(final CloseableHttpResponse response) throws IOException {
+ if (response.getEntity() == null) {
+ return "";
+ }
return EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
}
}