import org.glassfish.jersey.server.CloseableService;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.core.Context;
import java.io.Closeable;
@Singleton
public class TrackingFilter implements ContainerRequestFilter {
private final CloseableService closer;
@Inject
public TrackingFilter(@Context CloseableService closer) {
this.closer = closer;
}
@Override
public void filter(ContainerRequestContext requestContext) {
closer.add(startTracking(requestContext));
}
private Closeable startTracking(ContainerRequestContext requestContext) {
String requestPath = requestContext.getUriInfo().getPath();
long start = System.nanoTime();
return () -> {
long stop = System.nanoTime();
System.out.println("elapsed=" + (stop - start) + " nanos, request path=" + requestPath);
};
}
}
--
You received this message because you are subscribed to the Google Groups "dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dropwizard-user/F21A5388-4DCD-42E2-A820-E9165EC4B3AE%40schalanda.name.