From 6eb5ff3cbb52a6eae46625d8b2fa5e702aa62374 Mon Sep 17 00:00:00 2001 From: Lai Jiang Date: Tue, 23 May 2023 17:01:56 -0400 Subject: [PATCH] Show HTTP response code when PUT fails (#2038) --- .../java/google/registry/rde/RdeReporter.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/google/registry/rde/RdeReporter.java b/core/src/main/java/google/registry/rde/RdeReporter.java index b74868000..9a78fd91c 100644 --- a/core/src/main/java/google/registry/rde/RdeReporter.java +++ b/core/src/main/java/google/registry/rde/RdeReporter.java @@ -43,6 +43,7 @@ import java.io.ByteArrayInputStream; import java.net.MalformedURLException; import java.net.SocketTimeoutException; import java.net.URL; +import java.util.Arrays; import javax.inject.Inject; /** @@ -86,22 +87,23 @@ public class RdeReporter { retrier.callWithRetry( () -> { HTTPResponse rsp1 = urlFetchService.fetch(req); - switch (rsp1.getResponseCode()) { - case SC_OK: - case SC_BAD_REQUEST: - break; - default: - throw new RuntimeException("PUT failed"); + int responseCode = rsp1.getResponseCode(); + if (responseCode != SC_OK && responseCode != SC_BAD_REQUEST) { + logger.atSevere().log( + "Failure when trying to PUT RDE report to ICANN server: %d\n%s", + responseCode, Arrays.toString(rsp1.getContent())); + throw new RuntimeException("Error uploading deposits to ICANN"); } return rsp1; }, SocketTimeoutException.class); - // Ensure the XML response is valid. + // Ensure the XML response is valid. The EPP result code would not be 1000 if we get an + // SC_BAD_REQUEST as the HTTP response code. XjcIirdeaResult result = parseResult(rsp.getContent()); if (result.getCode().getValue() != 1000) { logger.atWarning().log( - "PUT rejected: %d %s\n%s", + "Rejected when trying to PUT RDE report to ICANN server: %d %s\n%s", result.getCode().getValue(), result.getMsg(), result.getDescription()); throw new InternalServerErrorException(result.getMsg()); }