Skip to content

Commit

Permalink
Add CORS filter
Browse files Browse the repository at this point in the history
Otherwise the CF dialog in NinaCRM does not work.
  • Loading branch information
berezovskyi committed Oct 4, 2024
1 parent 4b23e85 commit bf6ed0a
Showing 1 changed file with 35 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package se.kth.md.it.bcm.servlet;

import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.container.ContainerResponseFilter;
import javax.ws.rs.ext.Provider;
import java.io.IOException;

/**
* Allows OSLC requests to be made to the server from the web browser from another domain.
*/
@Provider
public class OslcCorsFilter implements ContainerResponseFilter {

@Override
public void filter(ContainerRequestContext requestContext,
ContainerResponseContext responseContext) throws IOException {
String originAllow = "*";
final String requestOrigin = requestContext.getHeaderString("Origin");
if (requestOrigin != null) {
//needed to enable Access-Control-Allow-Credentials
originAllow = requestOrigin;
}
responseContext.getHeaders().add(
"Access-Control-Allow-Origin", originAllow);
responseContext.getHeaders().add(
"Access-Control-Allow-Credentials", "true");
responseContext.getHeaders().add(
"Access-Control-Allow-Headers",
"origin, content-type, accept, authorization, oslc-core-version, Configuration-Context, OSLC-Configuration-Context");
responseContext.getHeaders().add(
"Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE, OPTIONS, HEAD");
}
}

0 comments on commit bf6ed0a

Please sign in to comment.