package com.redhat.training.rest; import java.io.IOException; import java.util.logging.Logger; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerRequestFilter; import javax.ws.rs.container.PreMatching; import javax.ws.rs.core.Response; import javax.ws.rs.ext.Provider; @Provider @PreMatching public class CORSRequestFilter implements ContainerRequestFilter { private final static Logger log = Logger.getLogger(CORSRequestFilter.class.getName()); @Override public void filter(ContainerRequestContext requestCtx) throws IOException { log.fine("Executing REST request filter"); // When HttpMethod comes as OPTIONS, just acknowledge that it accepts... if (requestCtx.getRequest().getMethod().equals( "OPTIONS" )) { log.fine("HTTP Method (OPTIONS) - Detected!"); // Just send a OK signal back to the browser requestCtx.abortWith(Response.status(Response.Status.OK).build()); } } }