exactDate = request.getReplayTimestamp();
if(exactDate == null) {
exactDate = Timestamp.latestTimestamp().getDateStr();
}
chain.addFilter(new UrlMatchFilter(keyUrl));
chain.addFilter(new SelfRedirectFilter(canonicalizer));
long wantMS = request.getReplayDate().getTime();
if(request.getAccessPoint().isUseAnchorWindow()) {
// use AnchorTimestamp, if specified:
String anchorTS = request.getAnchorTimestamp();
if(anchorTS != null) {
wantMS =
Timestamp.parseBefore(anchorTS).getDate().getTime();
}
}
} else if(request.isCaptureQueryRequest()) {
chain.addFilter(new UrlMatchFilter(keyUrl));
chain.addFilter(new SelfRedirectFilter(canonicalizer));
// OPTIMIZ: EndDateFilter is a hard stop: ABORT
// DateRangeFilter is an INCLUDE/EXCLUDE
// one class which EXCLUDEs before startDate, and ABORTs
// after endDate would save a compare..
chain.addFilter(new EndDateFilter(endDate));