diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index b6a5902d2..a9d8c5f8d 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -110,7 +110,7 @@ import org.whispersystems.textsecuregcm.currency.CoinMarketCapClient; import org.whispersystems.textsecuregcm.currency.CurrencyConversionManager; import org.whispersystems.textsecuregcm.currency.FixerClient; import org.whispersystems.textsecuregcm.experiment.ExperimentEnrollmentManager; -import org.whispersystems.textsecuregcm.filters.ContentLengthFilter; +import org.whispersystems.textsecuregcm.filters.RequestStatisticsFilter; import org.whispersystems.textsecuregcm.filters.RemoteDeprecationFilter; import org.whispersystems.textsecuregcm.filters.TimestampResponseFilter; import org.whispersystems.textsecuregcm.limits.DynamicRateLimiters; @@ -624,7 +624,7 @@ public class WhisperServerService extends Application { + try { + //noinspection UnstableApiUsage + final InetAddress addr = InetAddresses.forString(ipString); + if (addr instanceof Inet4Address) { + return "IPv4"; + } + if (addr instanceof Inet6Address) { + return "IPv6"; + } + } catch (IllegalArgumentException e) { + // ignore illegal argument exception + } + return null; + }) + .orElse("unresolved"); + } +} diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/filters/ContentLengthFilterTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/filters/RequestStatisticsFilterTest.java similarity index 70% rename from service/src/test/java/org/whispersystems/textsecuregcm/filters/ContentLengthFilterTest.java rename to service/src/test/java/org/whispersystems/textsecuregcm/filters/RequestStatisticsFilterTest.java index 7a9b2ca09..32038cc8d 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/filters/ContentLengthFilterTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/filters/RequestStatisticsFilterTest.java @@ -12,12 +12,12 @@ import javax.ws.rs.container.ContainerRequestContext; import org.junit.jupiter.api.Test; import org.whispersystems.textsecuregcm.metrics.TrafficSource; -class ContentLengthFilterTest { +class RequestStatisticsFilterTest { @Test void testFilter() throws Exception { - final ContentLengthFilter contentLengthFilter = new ContentLengthFilter(TrafficSource.WEBSOCKET); + final RequestStatisticsFilter requestStatisticsFilter = new RequestStatisticsFilter(TrafficSource.WEBSOCKET); final ContainerRequestContext requestContext = mock(ContainerRequestContext.class); @@ -25,8 +25,8 @@ class ContentLengthFilterTest { when(requestContext.getLength()).thenReturn(Integer.MAX_VALUE); when(requestContext.getLength()).thenThrow(RuntimeException.class); - contentLengthFilter.filter(requestContext); - contentLengthFilter.filter(requestContext); - contentLengthFilter.filter(requestContext); + requestStatisticsFilter.filter(requestContext); + requestStatisticsFilter.filter(requestContext); + requestStatisticsFilter.filter(requestContext); } }