Fix incorrect cast in NettyRoutingFilter

This commit is contained in:
Gonçalo Marques
2023-07-20 09:39:34 +01:00
parent 8becfeee75
commit ba030a65df
2 changed files with 2 additions and 1 deletions

View File

@@ -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());

View File

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