package org.archive.wayback.resourceindex.cdxserver;
import org.archive.cdxserver.CDXServer;
import org.archive.cdxserver.auth.AuthChecker;
import org.archive.cdxserver.auth.AuthToken;
import org.archive.cdxserver.filter.CDXAccessFilter;
import org.archive.wayback.webapp.AccessPoint;
/**
* Variant of {@link AuthToken} used to pass {@link AccessPoint} reference to
* {@link AuthChecker} implementations. Primary purpose is to configure
* {@link CDXAccessFilter} with AccessPoint-dependent information,
* such as {@link AccessPoint#getFileIncludePrefixes()}.
* <p>
* TODO: Considering AuthToken represents a user, it sounds like a bad design to have
* it carry target context information. It is in fact resulting in counter-intuitive data
* flow. Refactor the {@link CDXServer} interface.
* </p>
* @see EmbeddedCDXServerIndex#createAuthToken(org.archive.wayback.core.WaybackRequest, String)
* @see WaybackAPAuthChecker
*
*/
public class APContextAuthToken extends AuthToken {
final AccessPoint ap;
public APContextAuthToken(AccessPoint ap) {
this.ap = ap;
}
public AccessPoint getAccessPoint() {
return ap;
}
}