diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/filters/TimestampResponseFilter.java b/service/src/main/java/org/whispersystems/textsecuregcm/filters/TimestampResponseFilter.java index cdf451b4f..5315f6d05 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/filters/TimestampResponseFilter.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/filters/TimestampResponseFilter.java @@ -5,7 +5,6 @@ import org.whispersystems.textsecuregcm.util.TimestampHeaderUtil; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; -import java.util.Collections; /** * Injects a timestamp header into all outbound responses. @@ -14,6 +13,6 @@ public class TimestampResponseFilter implements ContainerResponseFilter { @Override public void filter(final ContainerRequestContext requestContext, final ContainerResponseContext responseContext) { - responseContext.getStringHeaders().put(TimestampHeaderUtil.TIMESTAMP_HEADER, Collections.singletonList(String.valueOf(System.currentTimeMillis()))); + responseContext.getHeaders().add(TimestampHeaderUtil.TIMESTAMP_HEADER, System.currentTimeMillis()); } } diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/filters/TimestampResponseFilterTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/filters/TimestampResponseFilterTest.java new file mode 100644 index 000000000..e5f4d2953 --- /dev/null +++ b/service/src/test/java/org/whispersystems/textsecuregcm/filters/TimestampResponseFilterTest.java @@ -0,0 +1,31 @@ +package org.whispersystems.textsecuregcm.filters; + +import org.glassfish.jersey.message.internal.HeaderUtils; +import org.junit.Test; +import org.whispersystems.textsecuregcm.util.TimestampHeaderUtil; + +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerResponseContext; +import javax.ws.rs.core.MultivaluedHashMap; +import javax.ws.rs.core.MultivaluedMap; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class TimestampResponseFilterTest { + + @Test + public void testFilter() { + final ContainerRequestContext requestContext = mock(ContainerRequestContext.class); + final ContainerResponseContext responseContext = mock(ContainerResponseContext.class); + + final MultivaluedMap headers = HeaderUtils.createOutbound(); + + when(responseContext.getHeaders()).thenReturn(headers); + + new TimestampResponseFilter().filter(requestContext, responseContext); + + assertTrue(headers.containsKey(TimestampHeaderUtil.TIMESTAMP_HEADER)); + } +}