Add the timestamp using the `add` method.

This commit is contained in:
Jon Chambers 2020-05-22 17:24:22 -04:00 committed by Jon Chambers
parent 5b984d924f
commit aa10f63d9f
2 changed files with 32 additions and 2 deletions

View File

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

View File

@ -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<String, Object> headers = HeaderUtils.createOutbound();
when(responseContext.getHeaders()).thenReturn(headers);
new TimestampResponseFilter().filter(requestContext, responseContext);
assertTrue(headers.containsKey(TimestampHeaderUtil.TIMESTAMP_HEADER));
}
}