Last active
October 5, 2022 20:47
-
-
Save mrserverless/36b0546245c5348a34ed to your computer and use it in GitHub Desktop.
Jersey ContainerResponseFilter example of CORS Filter. The Jetty version is more comprehensive: https://gist.github.com/yunspace/07d80a9ac32901f1e149
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import javax.inject.Singleton; | |
import javax.ws.rs.container.ContainerRequestContext; | |
import javax.ws.rs.container.ContainerResponseContext; | |
import javax.ws.rs.container.ContainerResponseFilter; | |
import javax.ws.rs.core.MultivaluedMap; | |
import javax.ws.rs.ext.Provider; | |
import java.io.IOException; | |
@Singleton | |
@Provider | |
public class CORSFilter implements ContainerResponseFilter { | |
@Override | |
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { | |
final int ACCESS_CONTROL_MAX_AGE_IN_SECONDS = 12 * 60 * 60; | |
MultivaluedMap<String, Object> headers = responseContext.getHeaders(); | |
headers.add(ACCESS_CONTROL_ALLOW_ORIGIN, "*"); | |
headers.add(ACCESS_CONTROL_ALLOW_HEADERS, "origin, content-type, accept, authorization"); | |
headers.add(ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); | |
headers.add(ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, PUT, DELETE, OPTIONS, HEAD"); | |
headers.add(ACCESS_CONTROL_MAX_AGE, ACCESS_CONTROL_MAX_AGE_IN_SECONDS); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
run(Configuration configuration, Environment environment) { | |
environment.jersey().register(CORSFilter.class); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment