/** * This filter provides backward compatibility for Resource URI changes. */ @PreMatching public class RedirectResourceFilter implements ContainerRequestFilter { /** * This method checks path of the incoming request, and * redirects following URIs: * <li>/controller -> SiteToSiteResource * @param requestContext request to be modified */ @Override public void filter(ContainerRequestContext requestContext) throws IOException { final UriInfo uriInfo = requestContext.getUriInfo(); if (uriInfo.getPath().equals("controller")){ UriBuilder builder = UriBuilder.fromUri(uriInfo.getBaseUri()) .path(SiteToSiteResource.class) .replaceQuery(uriInfo.getRequestUri().getRawQuery()); URI redirectTo = builder.build(); requestContext.setRequestUri(uriInfo.getBaseUri(), redirectTo); } } }
@PreMatching @Priority(Priorities.HEADER_DECORATOR) public class TypeGPXFilter implements ContainerRequestFilter { @Override public void filter(ContainerRequestContext rc) { String maybeType = rc.getUriInfo().getQueryParameters().getFirst("type"); if (maybeType != null && maybeType.equals("gpx")) { rc.getHeaders().putSingle(HttpHeaders.ACCEPT, "application/gpx+xml"); } } }
/** * A {@link ContainerRequestFilter} that replaces the {@link javax.ws.rs.core.SecurityContext} * with a {@link ShiroSecurityContext}. * @since 1.4 */ @Provider @PreMatching public class SubjectPrincipalRequestFilter implements ContainerRequestFilter { @Override public void filter(ContainerRequestContext requestContext) throws IOException { requestContext.setSecurityContext(new ShiroSecurityContext(requestContext)); } }
@PreMatching public class RuntimeFilter implements ContainerRequestFilter, ContainerResponseFilter {
@Provider @PreMatching public class ReqContextFilter implements Filter { private final IHttpCredentialsPlugin httpCredsHandler;
@PreMatching public class SecurityRequestFilter implements ContainerRequestFilter {
@PreMatching public final class RequestContextFilter implements ContainerRequestFilter, ContainerResponseFilter {
@PreMatching @Provider @Priority(1)
@PreMatching public class SecurityFilter implements ContainerRequestFilter {
@PreMatching @Priority(Priorities.HEADER_DECORATOR + 50) // must go after UriConnegFilter (if present) public final class HttpMethodOverrideFilter implements ContainerRequestFilter {
@PreMatching @Priority(Priorities.HEADER_DECORATOR + 50) // must go after UriConnegFilter (if present) public final class HttpMethodOverrideFilter implements ContainerRequestFilter {
@PreMatching @Priority(Priorities.HEADER_DECORATOR) public final class UriConnegFilter implements ContainerRequestFilter {
@PreMatching @Priority(Priorities.HEADER_DECORATOR) public final class UriConnegFilter implements ContainerRequestFilter {
@PreMatching @Priority(Integer.MIN_VALUE) @ApplicationScoped
@PreMatching @Priority(Integer.MAX_VALUE) @SuppressWarnings("ClassWithMultipleLoggers")
@PreMatching @Priority(Integer.MIN_VALUE) @SuppressWarnings("ClassWithMultipleLoggers")
@PreMatching @Priority(Integer.MAX_VALUE) @SuppressWarnings("ClassWithMultipleLoggers")
@PreMatching @Priority(Integer.MIN_VALUE) @SuppressWarnings("ClassWithMultipleLoggers")
@PreMatching public abstract class AbstractTracingFilter implements ContainerRequestFilter, ContainerResponseFilter {
@PreMatching @Priority(Priorities.AUTHENTICATION) @ConstrainedTo(RuntimeType.SERVER)