Dan K
2019-07-22 81fbcfc2409f885dd8405042b05d272d4eb629e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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());
        }
    }
}