From ba030a65df9734b9f7617b0df0df7898ec3aef3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonc=CC=A7alo=20Marques?= <9379664+GonMMarques@users.noreply.github.com> Date: Thu, 20 Jul 2023 09:39:34 +0100 Subject: [PATCH] Fix incorrect cast in NettyRoutingFilter --- .../cloud/gateway/filter/NettyRoutingFilter.java | 2 +- .../cloud/gateway/filter/NettyRoutingFilterCompatibleTests.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java index c0759e1f..d9acd324 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java @@ -280,7 +280,7 @@ public class NettyRoutingFilter implements GlobalFilter, Ordered { static Long getLong(Object responseTimeoutAttr) { Long responseTimeout = null; if (responseTimeoutAttr instanceof Number) { - responseTimeout = ((Integer) responseTimeoutAttr).longValue(); + responseTimeout = ((Number) responseTimeoutAttr).longValue(); } else if (responseTimeoutAttr != null) { responseTimeout = Long.parseLong(responseTimeoutAttr.toString()); diff --git a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/NettyRoutingFilterCompatibleTests.java b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/NettyRoutingFilterCompatibleTests.java index 5c5f913c..c7883099 100644 --- a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/NettyRoutingFilterCompatibleTests.java +++ b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/NettyRoutingFilterCompatibleTests.java @@ -56,6 +56,7 @@ class NettyRoutingFilterCompatibleTests extends BaseWebClientTests { void getLongHandlesStringAndNumber() { assertThat(NettyRoutingFilter.getLong("5")).isEqualTo(5); assertThat(NettyRoutingFilter.getLong(5)).isEqualTo(5); + assertThat(NettyRoutingFilter.getLong(50000L)).isEqualTo(50000); assertThat(NettyRoutingFilter.getLong(null)).isNull(); assertThatThrownBy(() -> NettyRoutingFilter.getLong("notanumber")).isInstanceOf(NumberFormatException.class); }