blob: 70670bb9a820955ed228566c75b2352fa4883bdf [file] [log] [blame]
package de.ids_mannheim.korap.web.filter;
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerRequestFilter;
import com.sun.jersey.spi.container.ContainerResponseFilter;
import com.sun.jersey.spi.container.ResourceFilter;
import de.ids_mannheim.korap.web.utils.KustvaktResponseHandler;
import javax.ws.rs.ext.Provider;
/**
* @author hanl
* @date 11/12/2014
* <p/>
* endpoint filter to block access to an endpoint, in case no anonymous access should be allowed!
*/
@Provider
public class BlockingFilter implements ContainerRequestFilter, ResourceFilter {
@Override
public ContainerRequest filter(ContainerRequest request) {
String authentication = request
.getHeaderValue(ContainerRequest.AUTHORIZATION);
if (authentication == null || authentication.isEmpty())
throw KustvaktResponseHandler.throwAuthenticationException();
return request;
}
@Override
public ContainerRequestFilter getRequestFilter() {
return this;
}
@Override
public ContainerResponseFilter getResponseFilter() {
return null;
}
}