lundi 3 août 2015

Add CORS headers for non 2xx response code on WildFly

I have implemented CORSResponseFilter which adds some CORS-specific headers to response. But these headers apply just in case response code is 2xx. How I can configure a filter to add headers to the responses with status 4xx or 5xx?

Below is my implementation of ContainerResponseFilter :

 @Provider
    public class CORSResponseFilter implements ContainerResponseFilter {
        public void filter(ContainerRequestContext requestContext,
                ContainerResponseContext cres) throws IOException {
            cres.getHeaders().add("Access-Control-Allow-Origin", "*");
            cres.getHeaders()
                    .add("Access-Control-Allow-Headers",
                            "Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization");
            cres.getHeaders().add("Access-Control-Allow-Credentials", "true");
            cres.getHeaders().add("Access-Control-Allow-Methods",
                    "GET, POST, PUT, DELETE, OPTIONS, HEAD");
            cres.getHeaders().add("Access-Control-Max-Age", "1209600");
        }
    }

Aucun commentaire:

Enregistrer un commentaire