JENA-1014: CORS Filter

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3b2de096
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3b2de096
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3b2de096

Branch: refs/heads/JENA-507
Commit: 3b2de09605f4cad193c55104c3a42bd608386e2c
Parents: b8aba8b
Author: Andy Seaborne <[email protected]>
Authored: Thu Aug 27 12:44:30 2015 +0100
Committer: Andy Seaborne <[email protected]>
Committed: Thu Aug 27 12:44:51 2015 +0100

----------------------------------------------------------------------
 .../src/main/webapp/WEB-INF/web.xml             | 39 ++++++++++++++++++--
 1 file changed, 35 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/3b2de096/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml 
b/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml
index 4c3c415..b3ba1c3 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml
+++ b/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml
@@ -30,12 +30,42 @@
 
   <!-- Apache Shiro setup -->
   <listener>
-    
<!--<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>-->
-    <!-- Support multiple locations, looks in Fuseki-relevant places -->
+    <!-- This replaces org.apache.shiro.web.env.EnvironmentLoaderListener
+         Support multiple locations and looks in Fuseki-relevant places.
+     -->
     
<listener-class>org.apache.jena.fuseki.server.ShiroEnvironmentLoader</listener-class>
   </listener>
 
-  <!-- First filter -->
+  <!-- CORS -->
+  <filter>
+    <filter-name>cross-origin</filter-name>
+    <!-- Ported and standalone version of 
org.eclipse.jetty.servlets.CrossOriginFilter -->
+    
<filter-class>org.apache.jena.fuseki.servlets.CrossOriginFilter</filter-class>
+    <!-- Defaults may be fine --> 
+    <init-param>
+      <param-name>allowedOrigins</param-name>
+      <param-value>*</param-value>
+    </init-param>
+    <init-param>
+      <param-name>allowedMethods</param-name>
+      <param-value>GET,POST,DELETE,PUT,HEAD,OPTIONS,PATCH</param-value>
+    </init-param>
+    <init-param>
+      <param-name>allowedHeaders</param-name>
+      <param-value>Accept, Origin, X-Requested-With, Content-Type, 
Last-Modified, Authorization</param-value>
+    </init-param>
+    <init-param>
+      <param-name>exposedHeaders</param-name>
+      
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
+    </init-param>
+  </filter>
+  
+  <filter-mapping>
+    <filter-name>cross-origin</filter-name>
+    <url-pattern>/*</url-pattern>
+  </filter-mapping>
+
+  <!-- Before FusekiFilter -->
   <filter>
     <filter-name>ShiroFilter</filter-name>
     <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
@@ -57,13 +87,14 @@
     -->
     <param-value>shiro.ini</param-value>
   </context-param>
-
+  
   <!-- Apache Jena Fuseki setup -->
 
   <listener>
     
<listener-class>org.apache.jena.fuseki.server.FusekiServerListener</listener-class>
   </listener>
 
+  <!-- Fuseki datatset serviced calls -->
   <filter>
     <filter-name>Fuseki</filter-name>
     <filter-class>org.apache.jena.fuseki.servlets.FusekiFilter</filter-class>

Reply via email to