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); } }