From 90867a4b2954c72361d4d0cbc56303142a3c7c2a Mon Sep 17 00:00:00 2001 From: Francois Le Droff Date: Wed, 17 Sep 2025 15:40:45 +0200 Subject: [PATCH] GH-249 leveraging the `retry-after` header support of Feign in our `IOErrorDecoder` --- .../java/com/adobe/aio/util/feign/IOErrorDecoder.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/adobe/aio/util/feign/IOErrorDecoder.java b/core/src/main/java/com/adobe/aio/util/feign/IOErrorDecoder.java index ac9f3c5f..6f5a4763 100644 --- a/core/src/main/java/com/adobe/aio/util/feign/IOErrorDecoder.java +++ b/core/src/main/java/com/adobe/aio/util/feign/IOErrorDecoder.java @@ -20,18 +20,22 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class IOErrorDecoder implements ErrorDecoder { +public class IOErrorDecoder extends ErrorDecoder.Default implements ErrorDecoder { public static final String REQUEST_ID = "x-request-id"; private final Logger logger = LoggerFactory.getLogger(this.getClass()); + public IOErrorDecoder() { + super(); + } + @Override public Exception decode(String methodKey, Response response) { FeignException exception = FeignException.errorStatus(methodKey, response); logger.warn("Upstream response error ({},{})", response.status(), exception.contentUTF8()); return (response.status() >= 500) ? - new IOUpstreamError(response, exception, getRequestId(response.headers())) : exception; + new IOUpstreamError(response, exception, getRequestId(response.headers())) : super.decode(methodKey, response); } private String getRequestId(Map> headers) {